/* ============================================================
   Scan ICP — design system
   Palette : charbon / blanc / gris clair / cuivre
   Zéro dépendance : polices système, CSS vanilla.
   ============================================================ */
:root {
  /* couleurs */
  --charbon-900: #16191E;
  --charbon-800: #1F242B;
  --charbon-700: #2A313A;
  --charbon-600: #3A424E;
  --encre: #23272E;
  --texte: #2B313A;
  --texte-2: #667085;
  --texte-3: #98A2B3;
  --fond: #F4F5F6;
  --surface: #FFFFFF;
  --bord: #E4E7EB;
  --bord-fort: #D0D5DD;
  --cuivre: #B4622D;
  --cuivre-vif: #C9722F;
  --cuivre-doux: #F7EDE4;
  --cuivre-bord: #E8CDB4;
  --vert: #1E7B43;
  --vert-doux: #E7F4EC;
  --vert-bord: #BFE0CC;
  --rouge: #B3362B;
  --rouge-doux: #FBEDEB;
  --rouge-bord: #EFC9C4;
  --orange: #B26A0B;
  --orange-doux: #FCF3E3;
  --orange-bord: #F0D9AC;
  --bleu: #2C5F8A;
  --bleu-doux: #EAF1F7;
  --bleu-bord: #C7DAE9;

  /* élévations */
  --ombre-1: 0 1px 2px rgba(22, 25, 30, .05);
  --ombre-2: 0 1px 3px rgba(22, 25, 30, .07), 0 4px 14px rgba(22, 25, 30, .05);
  --ombre-3: 0 8px 30px rgba(22, 25, 30, .16);

  /* géométrie */
  --rayon: 10px;
  --rayon-s: 7px;

  --police: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
::selection { background: var(--cuivre-doux); }

html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--police);
  font-size: 14.5px;
  color: var(--texte);
  background: var(--fond);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

h1 { font-size: 1.45rem; font-weight: 700; letter-spacing: -.015em; margin: 0 0 .35rem; color: var(--encre); }
h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--texte-2); margin: 1.9rem 0 .7rem; }
h3 { font-size: .95rem; font-weight: 650; margin: 1rem 0 .4rem; color: var(--encre); }
a { color: var(--cuivre); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 2px; }
code { font-family: var(--mono); font-size: .82em; background: var(--fond); border: 1px solid var(--bord); border-radius: 5px; padding: .08em .4em; color: var(--charbon-700); }
small, .discret { color: var(--texte-2); }
.sourdine { color: var(--texte-3); }
.accent { color: var(--cuivre); }
.mono { font-family: var(--mono); font-size: .92em; font-variant-numeric: tabular-nums; }
.texte-rouge { color: var(--rouge); }
.texte-vert { color: var(--vert); }

/* ------------------------------------------------------------
   En-tête / navigation
   ------------------------------------------------------------ */
.entete {
  background: linear-gradient(180deg, var(--charbon-800), var(--charbon-900));
  color: #fff;
  height: 58px;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, var(--ombre-2);
  position: sticky;
  top: 0;
  z-index: 50;
}
.entete-interieur {
  display:flex; align-items:center; gap:1.55rem;
  width:100%; max-width:1280px; height:58px; margin:0 auto; padding:0 1.6rem;
}
.entete-marque { display: flex; align-items: center; gap: .65rem; }
.entete-logo {
  width: 30px; height: 30px; border-radius: 8px; flex: none;
  background: linear-gradient(135deg, var(--cuivre-vif), #8F4A1F);
  display: grid; place-items: center;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 2px 6px rgba(0,0,0,.35);
}
.entete-logo svg { display: block; }
.entete-marque a { color: #fff; font-weight: 750; font-size: 1.02rem; letter-spacing: -.01em; }
.entete-marque a:hover { text-decoration: none; }
.entete-marque a span { color: var(--cuivre-vif); }
.entete-marque small { display: block; font-size: .62rem; color: #7C8592; letter-spacing: .04em; margin-top: -3px; }

.entete-nav { display: flex; gap: .2rem; flex: 1; min-width:0; }
.entete-nav a {
  color: #B9C0CA; padding: .4rem .62rem; border-radius: 7px;
  font-size: .86rem; font-weight: 550; line-height: 1;
  display: flex; align-items: center; gap: .45rem;
  transition: background .12s, color .12s;
  white-space:nowrap;
}
.entete-nav a svg { opacity: .75; }
.entete-nav a:hover { color: #fff; background: rgba(255,255,255,.07); text-decoration: none; }
.entete-nav a.actif { color: #fff; background: rgba(255,255,255,.10); box-shadow: inset 0 -2px 0 var(--cuivre-vif); }
.entete-nav-etape {
  display:grid; place-items:center; width:18px; height:18px; flex:none;
  border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#8F98A5;
  font:700 .58rem var(--mono);
}
.entete-nav a.actif .entete-nav-etape { border-color:var(--cuivre-vif); background:var(--cuivre-vif); color:#fff; }

.entete-user { display: flex; align-items: center; gap: .7rem; font-size: .82rem; color: #B9C0CA; }
.entete-outils { position:relative; }
.entete-outils summary {
  display:flex; align-items:center; gap:.4rem; padding:.42rem .55rem; border-radius:7px;
  color:#B9C0CA; cursor:pointer; font-weight:600; list-style:none; white-space:nowrap;
}
.entete-outils summary::-webkit-details-marker { display:none; }
.entete-outils summary::after { content:"⌄"; margin-left:.05rem; color:#737D8A; font-size:.72rem; }
.entete-outils summary:hover,.entete-outils[open] summary,.entete-outils.actif summary { color:#fff; background:rgba(255,255,255,.08); }
.entete-outils.actif summary { box-shadow:inset 0 -2px 0 var(--cuivre-vif); }
.entete-outils-menu {
  position:absolute; z-index:90; top:calc(100% + .65rem); right:0; width:270px; padding:.45rem;
  border:1px solid var(--charbon-600); border-radius:10px; background:var(--charbon-800); box-shadow:var(--ombre-3);
}
.entete-outils-titre { display:block; padding:.35rem .55rem .45rem; color:#78818E; font-size:.59rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.entete-outils-menu a { display:block; padding:.55rem .65rem; border-radius:7px; color:#C6CCD4; }
.entete-outils-menu a:hover,.entete-outils-menu a.actif { background:rgba(255,255,255,.07); color:#fff; text-decoration:none; }
.entete-outils-menu a.actif { box-shadow:inset 2px 0 0 var(--cuivre-vif); }
.entete-outils-menu strong,.entete-outils-menu small { display:block; }
.entete-outils-menu strong { font-size:.78rem; }
.entete-outils-menu small { margin-top:.08rem; color:#8F98A5; font-size:.63rem; line-height:1.35; }
.avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--charbon-600); color: #E7EAEE;
  display: grid; place-items: center;
  font-size: .72rem; font-weight: 700; letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.14);
}
.entete-compte { position:relative; }
.entete-compte > summary {
  display:flex; align-items:center; gap:.5rem; min-height:38px; padding:.25rem .42rem .25rem .3rem;
  border-radius:999px; color:#D3D8DE; cursor:pointer; list-style:none; white-space:nowrap;
}
.entete-compte > summary::-webkit-details-marker { display:none; }
.entete-compte > summary::after { content:"⌄"; color:#7E8793; font-size:.7rem; }
.entete-compte > summary:hover,.entete-compte[open] > summary,.entete-compte.actif > summary { color:#fff; background:rgba(255,255,255,.08); }
.entete-compte.actif > summary { box-shadow:inset 0 -2px 0 var(--cuivre-vif); }
.entete-compte-nom { max-width:120px; overflow:hidden; font-size:.76rem; font-weight:650; text-overflow:ellipsis; }
.entete-compte-menu {
  position:absolute; z-index:90; top:calc(100% + .55rem); right:0; width:285px; padding:.45rem;
  border:1px solid var(--charbon-600); border-radius:10px; background:var(--charbon-800); box-shadow:var(--ombre-3);
}
.entete-compte-identite { padding:.55rem .65rem .65rem; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:.3rem; }
.entete-compte-identite strong,.entete-compte-identite small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.entete-compte-identite strong { color:#fff; font-size:.8rem; }
.entete-compte-identite small { margin-top:.05rem; color:#8F98A5; font-size:.65rem; }
.entete-compte-menu > a,.entete-compte-menu form button {
  display:flex; align-items:center; gap:.65rem; width:100%; padding:.58rem .65rem; border:0; border-radius:7px;
  background:transparent; color:#C6CCD4; font:inherit; text-align:left; cursor:pointer;
}
.entete-compte-menu > a:hover,.entete-compte-menu > a.actif,.entete-compte-menu form button:hover { background:rgba(255,255,255,.07); color:#fff; text-decoration:none; }
.entete-compte-menu > a.actif { box-shadow:inset 2px 0 0 var(--cuivre-vif); }
.entete-compte-menu svg { flex:none; }
.entete-compte-menu a span,.entete-compte-menu a strong,.entete-compte-menu a small { display:block; min-width:0; }
.entete-compte-menu a strong { font-size:.76rem; }
.entete-compte-menu a small { margin-top:.04rem; color:#8F98A5; font-size:.61rem; line-height:1.35; }
.entete-compte-separateur { height:1px; margin:.3rem .25rem; background:rgba(255,255,255,.08); }
.entete-compte-menu form { margin:0; }
.entete-compte-menu form button { font-size:.76rem; }
/* indicateur global de la file de jobs */
.jobs-indicateur {
  display: inline-flex; align-items: center; gap: .45rem;
  background: rgba(201, 114, 47, .16); border: 1px solid rgba(201, 114, 47, .45);
  color: #F0C9A8; border-radius: 999px; padding: .28rem .75rem;
  font: inherit; font-size: .76rem; font-weight: 600; cursor: pointer;
  transition: background .12s;
}
.jobs-indicateur:hover { background: rgba(201, 114, 47, .28); }
.jobs-spinner {
  width: 11px; height: 11px; border-radius: 50%; flex: none;
  border: 2px solid rgba(240, 201, 168, .35); border-top-color: var(--cuivre-vif);
  animation: jobs-rotation .8s linear infinite;
}
.jobs-pause-dot { width:8px; height:8px; border-radius:50%; flex:none; background:var(--cuivre-vif); box-shadow:0 0 0 3px rgba(201,114,47,.2); }
@keyframes jobs-rotation { to { transform: rotate(360deg); } }

.btn-lien { background: none; border: none; color: #8B93A0; cursor: pointer; font: inherit; font-size: .8rem; padding: 0; }
.btn-lien:hover { color: #fff; text-decoration: underline; }
form.inline { display: inline; }

.contenu { max-width: 1280px; margin: 1.75rem auto 3.5rem; padding: 0 1.6rem; }

/* En-tête de page */
.page-entete { display: flex; align-items: flex-end; gap: 1rem; margin-bottom: 1.4rem; flex-wrap: wrap; }
.page-entete .sous-titre { color: var(--texte-2); font-size: .9rem; margin: 0; }
.page-entete .separateur { flex: 1; }
.page-entete-actions { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.context-badge { display:inline-flex; align-items:center; min-height:34px; padding:.35rem .65rem; border:1px solid var(--bord); border-radius:999px; background:var(--surface); color:var(--texte-2); font-size:.7rem; font-weight:700; }

/* ------------------------------------------------------------
   Cartes & stats
   ------------------------------------------------------------ */
.carte {
  background: var(--surface);
  border: 1px solid var(--bord);
  border-radius: var(--rayon);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  box-shadow: var(--ombre-1);
}
.carte > h2:first-child, .carte > h3:first-child { margin-top: 0; }
.carte-table { padding: 0; overflow-x: auto; }
.grille-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.grille-cartes > .carte { margin-bottom:0; }
.table-shell { width:100%; max-width:100%; min-width:0; overflow-x:auto; }
.table-card-title { margin:1rem 1.25rem .6rem; }
.table-compacte { font-size:.83rem; }
.table-detail-cell { max-width:260px; font-size:.8rem; }

/* Compte utilisateur et administration */
.compte-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:1rem; align-items:start; max-width:920px; }
.compte-carte { margin:0; }
.compte-carte > h2 { margin-top:0; }
.compte-action { margin-top:1.2rem; }
.compte-meta { margin:0; }
.compte-meta > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--bord); }
.compte-meta dt { color:var(--texte-2); font-size:.74rem; }
.compte-meta dd { margin:0; color:var(--encre); font-size:.8rem; font-weight:650; }
.badge-role { color:var(--bleu); border-color:var(--bleu-bord); background:var(--bleu-doux); }
.compte-securite-action { margin-top:1rem; padding:1rem; border-radius:8px; background:var(--fond); }
.compte-securite-action strong { color:var(--encre); font-size:.82rem; }
.compte-securite-action p { margin:.2rem 0 .75rem; color:var(--texte-2); font-size:.72rem; }

.admin-users-card { min-width:0; padding:0; overflow:hidden; }
.admin-users-card > h2 { margin:1rem 1.25rem .65rem; }
.admin-users-table { min-width:1080px; }
.admin-users-table td:first-child strong,.admin-users-table td:first-child small { display:block; }
.admin-users-table td:first-child small { margin-top:.05rem; font-size:.68rem; }
.admin-vous { display:inline-block; margin-top:.3rem; padding:.05rem .35rem; border-radius:999px; background:var(--fond); color:var(--texte-2); font-size:.59rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.admin-role-form { display:flex; align-items:center; gap:.35rem; }
.admin-role-form select { width:145px; min-width:145px; padding:.35rem 1.8rem .35rem .5rem; font-size:.76rem; }
.admin-user-actions { display:flex; align-items:center; gap:.4rem; }
.admin-user-actions form { margin:0; }
.admin-user-modal { width:min(520px,92vw); }
.admin-user-modal .modale-intro { margin:.25rem 0 1rem; color:var(--texte-2); font-size:.8rem; }
.admin-field-help { display:block; margin-top:.3rem; color:var(--texte-2); font-size:.7rem; }
.auth-conseil { margin:.8rem 0 0; color:var(--texte-2); font-size:.78rem; text-align:center; }

.carte-stat { display: flex; align-items: center; gap: .9rem; }
.carte-stat .pictos {
  width: 40px; height: 40px; border-radius: 10px; flex: none;
  display: grid; place-items: center; font-size: 1.05rem;
}
.carte-stat .pictos svg { width: 21px; height: 21px; display: block; }
.pictos-cuivre { background: var(--cuivre-doux); color: var(--cuivre); }
.pictos-vert { background: var(--vert-doux); color: var(--vert); }
.pictos-rouge { background: var(--rouge-doux); color: var(--rouge); }
.pictos-bleu { background: var(--bleu-doux); color: var(--bleu); }
.carte-stat .valeur { font-size: 1.45rem; font-weight: 750; letter-spacing: -.02em; color: var(--encre); line-height: 1.15; }
.carte-stat .legende { font-size: .74rem; color: var(--texte-2); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }

/* ------------------------------------------------------------
   Entonnoir
   ------------------------------------------------------------ */
.entonnoir { display: flex; gap: 0; align-items: stretch; overflow-x: auto; padding-bottom: .25rem; }
.entonnoir-etape {
  flex: 1; min-width: 96px; position: relative;
  background: var(--surface); border: 1px solid var(--bord);
  padding: .8rem .6rem .7rem; text-align: center;
  border-right-width: 0;
}
.entonnoir-etape:first-child { border-radius: var(--rayon) 0 0 var(--rayon); }
.entonnoir-etape.derniere { border-right-width: 1px; border-radius: 0 var(--rayon) var(--rayon) 0; }
.entonnoir-etape .nombre { font-size: 1.5rem; font-weight: 750; letter-spacing: -.02em; color: var(--encre); line-height: 1.1; }
.entonnoir-etape .libelle { font-size: .66rem; color: var(--texte-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 650; margin-top: .2rem; }
.entonnoir-etape .jauge { height: 3px; border-radius: 2px; background: var(--bord); margin-top: .55rem; overflow: hidden; }
.entonnoir-etape .jauge > i { display: block; height: 100%; background: var(--cuivre); }
.entonnoir-etape.vide .nombre { color: var(--texte-3); }
.entonnoir-etape.terminal { background: linear-gradient(180deg, #FDFBF9, var(--surface)); }
.entonnoir-etape.terminal .jauge > i { background: var(--vert); }
.entonnoir-etape.negative .jauge > i { background: var(--rouge); }
.entonnoir-etape.negative .nombre { color: var(--rouge); }
.entonnoir-etape.negative.vide .nombre { color: var(--texte-3); }
.entonnoir-fleche {
  align-self: center; z-index: 1; flex: none;
  color: var(--texte-3); margin: 0 -1px; font-size: .8rem;
}

/* ------------------------------------------------------------
   Login
   ------------------------------------------------------------ */
.page-login {
  min-height: 100vh; margin: 0; display: grid; place-items: center;
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(201,114,47,.16), transparent 60%),
    radial-gradient(800px 420px at -10% 110%, rgba(44,95,138,.14), transparent 55%),
    linear-gradient(160deg, var(--charbon-800), var(--charbon-900));
  padding: 2rem 1rem;
}
.carte-login {
  width: min(400px, 94vw);
  background: var(--surface);
  border-radius: 14px;
  padding: 2.3rem 2.2rem 2rem;
  box-shadow: var(--ombre-3);
}
.carte-login .logo-bloc { display: flex; flex-direction: column; align-items: center; gap: .8rem; margin-bottom: 1.6rem; }
.carte-login .entete-logo { width: 46px; height: 46px; border-radius: 12px; }
.carte-login h1 { text-align: center; margin: 0; font-size: 1.3rem; }
.carte-login h1 span { color: var(--cuivre); }
.carte-login .sous-titre { text-align: center; color: var(--texte-2); font-size: .84rem; margin: .2rem 0 0; }
.login-pied { text-align: center; margin-top: 1.4rem; font-size: .74rem; color: var(--texte-3); }
/* carte-login affichée dans l'app (changement de mot de passe connecté) */
.contenu .carte-login { margin: 6vh auto; box-shadow: var(--ombre-2); border: 1px solid var(--bord); }

/* Expérience de connexion principale — styles isolés des autres écrans d'auth. */
.page-login-auth {
  display: block;
  place-items: stretch;
  min-height: 100vh;
  min-height: 100svh;
  padding: 0;
  background: #11181B;
}
.login-shell {
  --login-ivoire: #F5F3EE;
  --login-encre: #182024;
  --login-cuivre: #A95325;
  --login-cuivre-vif: #B35C28;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(460px, .94fr);
  background: var(--login-ivoire);
  overflow: hidden;
}
.login-visual {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #11181B;
}
.login-visual::before,
.login-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}
.login-visual::before {
  background:
    linear-gradient(180deg, rgba(9,14,16,.22) 0%, rgba(9,14,16,.02) 38%, rgba(9,14,16,.74) 100%),
    linear-gradient(90deg, rgba(9,14,16,.66) 0%, rgba(9,14,16,.10) 64%, rgba(9,14,16,.16) 100%);
  z-index: 0;
}
.login-visual::after {
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(5,9,10,.34));
  z-index: 0;
}
.login-visual-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 61% 51%;
  filter: saturate(.92) contrast(1.03);
  animation: login-image-entree 1.25s cubic-bezier(.2,.72,.2,1) both;
}
.login-visual-inner {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  padding: clamp(2rem, 4vw, 4.5rem);
}
.login-brand {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  width: max-content;
  max-width: 100%;
  animation: login-contenu-entree .7s .08s ease-out both;
}
.login-brand-logo {
  width: clamp(92px, 8.4vw, 126px);
  height: auto;
  flex: none;
  object-fit: contain;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.28));
}
.login-brand-picture { display: flex; flex: none; }
.login-brand-caption {
  min-width: 0;
  padding: .25rem 0 .25rem 1.05rem;
  border-left: 1px solid rgba(255,255,255,.28);
}
.login-brand-caption strong,
.login-brand-caption span { display: block; }
.login-brand-caption strong {
  font-size: .9rem;
  color: #fff;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.login-brand-caption span {
  margin-top: .18rem;
  color: rgba(255,255,255,.6);
  font-size: .7rem;
  letter-spacing: .035em;
}
.login-story {
  max-width: 710px;
  padding-bottom: clamp(.4rem, 1.5vh, 1.2rem);
  animation: login-contenu-entree .8s .18s ease-out both;
}
.login-story-kicker,
.login-panel-kicker {
  margin: 0 0 1.15rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .68rem;
  font-weight: 760;
}
.login-story-kicker { color: #A9D3D2; }
.login-story-kicker span { color: #EF3D43; padding: 0 .28rem; }
.login-story h1 {
  max-width: 680px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.8rem, 4.6vw, 5.25rem);
  font-weight: 720;
  line-height: .98;
  letter-spacing: -.055em;
  text-shadow: 0 3px 24px rgba(0,0,0,.3);
  text-wrap: balance;
}
.login-story-copy {
  max-width: 560px;
  margin: 1.45rem 0 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(.96rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}
.login-proof-list {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 2rem;
}
.login-proof-list > span {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 35px;
  padding: .42rem .72rem;
  color: rgba(255,255,255,.82);
  font-size: .71rem;
  font-weight: 650;
  letter-spacing: .025em;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(10,17,19,.35);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
}
.login-proof-list svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #8EC6C4;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-panel {
  position: relative;
  min-width: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 2.5rem;
  padding: clamp(3rem, 7vh, 6rem) clamp(2.5rem, 5.2vw, 6.25rem) 2rem;
  color: var(--login-encre);
  background:
    radial-gradient(420px 260px at 100% 0, rgba(169,83,37,.06), transparent 65%),
    var(--login-ivoire);
  box-shadow: -24px 0 70px rgba(0,0,0,.13);
}
.login-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: rgba(255,255,255,.58);
}
.login-form-block {
  align-self: center;
  width: min(440px, 100%);
  margin: 0 auto;
  animation: login-contenu-entree .65s .12s ease-out both;
}
.login-panel-kicker {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1rem;
  color: var(--login-cuivre);
}
.login-panel-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  flex: none;
  background: currentColor;
}
.login-panel h2 {
  margin: 0;
  color: var(--login-encre);
  font-size: clamp(2.15rem, 3vw, 3.25rem);
  font-weight: 710;
  line-height: 1.04;
  letter-spacing: -.048em;
  text-transform: none;
}
.login-panel h2 span {
  color: var(--login-cuivre);
  white-space: nowrap;
}
.login-panel-intro {
  margin: .9rem 0 0;
  color: #687176;
  font-size: .96rem;
}
.login-alert {
  display: flex;
  align-items: flex-start;
  gap: .15rem;
  margin: 1.4rem 0 -.5rem;
  padding: .78rem .9rem;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(95,26,20,.04);
}
.login-form { margin-top: 2rem; }
.login-field + .login-field { margin-top: 1rem; }
.login-label-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.login-label-row a { margin-bottom:.42rem; font-size:.72rem; font-weight:650; }
.login-form label {
  margin: 0 0 .42rem;
  color: #343D41;
  font-size: .76rem;
  font-weight: 680;
  letter-spacing: .018em;
}
.login-control {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  border: 1px solid #D6D7D2;
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 1px 2px rgba(24,32,36,.025), inset 0 1px 0 rgba(255,255,255,.9);
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.login-control:focus-within {
  border-color: var(--login-cuivre);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(169,83,37,.11), 0 5px 18px rgba(24,32,36,.06);
}
.login-control > svg {
  position: absolute;
  left: 1rem;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #8D9699;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
  transition: stroke .18s;
}
.login-control:focus-within > svg { stroke: var(--login-cuivre); }
.page-login-auth .login-control input {
  height: 54px;
  padding: 0 1rem 0 3rem;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--login-encre);
  box-shadow: none;
  font-size: .92rem;
}
.page-login-auth .login-control input:focus { box-shadow: none; }
.page-login-auth .login-control input::placeholder { color: #6F777A; }
.page-login-auth .login-control-password input { padding-right: 3.25rem; }
.login-password-toggle {
  position: absolute;
  right: .65rem;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 9px;
  color: #7F898D;
  background: transparent;
  cursor: pointer;
  transition: color .15s, background .15s;
}
.login-password-toggle[hidden] { display: none; }
.login-password-toggle:hover { color: var(--login-cuivre); background: rgba(169,83,37,.07); }
.login-password-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-eye-closed { display: none; }
.login-password-toggle.est-visible .login-eye-open { display: none; }
.login-password-toggle.est-visible .login-eye-closed { display: block; }
.login-submit {
  width: 100%;
  min-height: 56px;
  margin-top: 1.45rem;
  padding: .8rem 1rem .8rem 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  border: 1px solid rgba(116,50,18,.25);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, var(--login-cuivre-vif), var(--login-cuivre));
  box-shadow: 0 1px 0 rgba(255,255,255,.22) inset, 0 10px 24px rgba(116,50,18,.20);
  font: inherit;
  font-size: .9rem;
  font-weight: 720;
  cursor: pointer;
  transition: transform .16s, box-shadow .18s;
}
.login-submit svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .18s;
}
.login-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.22) inset, 0 14px 30px rgba(116,50,18,.24);
}
.login-submit:hover svg { transform: translateX(3px); }
.login-submit:active { transform: translateY(0); }
.login-security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .48rem;
  margin-top: 1rem;
  color: #667074;
  font-size: .68rem;
  line-height: 1.4;
  text-align: center;
}
.login-security-note svg {
  width: 15px;
  height: 15px;
  flex: none;
  fill: none;
  stroke: #799593;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-panel-footer {
  align-self: end;
  margin: 0;
  color: #667074;
  font-size: .67rem;
  letter-spacing: .035em;
  text-align: center;
}
.login-panel-footer span { color: var(--login-cuivre); padding: 0 .22rem; }

@keyframes login-image-entree {
  from { opacity: 0; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes login-contenu-entree {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1020px) {
  .login-shell { grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); }
  .login-visual-inner { padding: 2.5rem; }
  .login-panel { padding-inline: 2.75rem; }
  .login-brand-caption { display: none; }
}

@media (max-width: 820px) {
  .page-login-auth { overflow: auto; }
  .login-shell {
    display: block;
    min-height: 100svh;
    overflow: visible;
  }
  .login-visual {
    min-height: 330px;
    height: 40svh;
    max-height: 410px;
  }
  .login-visual-image { object-position: 62% 61%; }
  .login-visual-inner {
    min-height: 100%;
    padding: 1.5rem 1.6rem 1.8rem;
    gap: 1rem;
  }
  .login-brand-logo { width: 86px; }
  .login-story h1 { font-size: clamp(2.15rem, 8vw, 3rem); }
  .login-story-copy { max-width: 520px; margin-top: .8rem; font-size: .88rem; line-height: 1.5; }
  .login-proof-list { margin-top: 1rem; }
  .login-panel {
    min-height: 60svh;
    padding: 3.5rem 1.6rem 1.6rem;
    box-shadow: 0 -24px 65px rgba(0,0,0,.11);
  }
  .login-panel::before { inset: 0 0 auto; width: auto; height: 1px; }
  .login-panel-footer { margin-top: 1rem; }
}

@media (max-width: 520px) {
  .login-visual { min-height: 286px; height: 34svh; }
  .login-visual-inner { padding: 1.1rem 1.15rem 1.35rem; }
  .login-brand-logo { width: 72px; }
  .login-story-kicker { margin-bottom: .7rem; font-size: .59rem; }
  .login-story h1 { font-size: 2.05rem; line-height: 1.01; }
  .login-story-copy { display: none; }
  .login-proof-list { gap: .4rem; margin-top: .85rem; }
  .login-proof-list > span { min-height: 30px; padding: .32rem .55rem; font-size: .62rem; }
  .login-proof-list > span:nth-child(2) { display: none; }
  .login-panel { padding: 2.75rem 1.15rem 1.25rem; gap: 2rem; }
  .login-panel h2 { font-size: 2.1rem; }
  .login-panel-intro { font-size: .88rem; }
  .login-form { margin-top: 1.65rem; }
  .login-security-note { align-items: flex-start; }
}

@media (max-width: 360px) {
  .login-story h1 { font-size: 1.88rem; }
  .login-proof-list { display: none; }
}

@media (max-width: 820px) and (max-height: 520px) {
  .login-visual {
    min-height: 165px;
    height: 165px;
    max-height: 165px;
  }
  .login-visual-inner { padding: .7rem 1.2rem .9rem; }
  .login-brand-logo { width: 52px; }
  .login-story-kicker { margin-bottom: .35rem; font-size: .55rem; }
  .login-story h1 { font-size: 1.55rem; line-height: 1; }
  .login-story-copy,
  .login-proof-list { display: none; }
  .login-panel {
    min-height: calc(100svh - 165px);
    padding: 2.5rem 1.5rem 1.25rem;
  }
}

@media (max-height: 720px) and (min-width: 821px) {
  .login-visual-inner { padding-block: 2rem; }
  .login-brand-logo { width: 88px; }
  .login-story h1 { font-size: clamp(2.65rem, 4.3vw, 4rem); }
  .login-story-copy { margin-top: .9rem; }
  .login-proof-list { margin-top: 1.1rem; }
  .login-panel { padding-block: 2.5rem 1.5rem; }
  .login-form { margin-top: 1.45rem; }
}

/* ------------------------------------------------------------
   Formulaires
   ------------------------------------------------------------ */
label { display: block; font-weight: 620; font-size: .8rem; color: var(--charbon-700); margin: .95rem 0 .3rem; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], select, textarea {
  width: 100%; padding: .52rem .7rem;
  border: 1px solid var(--bord-fort); border-radius: var(--rayon-s);
  font: inherit; font-size: .9rem; background: var(--surface); color: var(--texte);
  transition: border-color .12s, box-shadow .12s;
}
input::placeholder, textarea::placeholder { color: var(--texte-3); }
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--cuivre);
  box-shadow: 0 0 0 3px rgba(180, 98, 45, .16);
}
textarea { resize: vertical; }
.champs-ligne { display: flex; gap: 1rem; flex-wrap: wrap; }
.champs-ligne > div { flex: 1; min-width: 150px; }

/* ------------------------------------------------------------
   Boutons
   ------------------------------------------------------------ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  padding: .5rem 1rem; border-radius: var(--rayon-s);
  border: 1px solid transparent;
  font: inherit; font-weight: 620; font-size: .86rem; line-height: 1.25;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: background .12s, border-color .12s, box-shadow .12s, transform .05s;
}
.btn:hover { text-decoration: none; }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

.btn-principal {
  background: linear-gradient(180deg, var(--cuivre-vif), var(--cuivre));
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.22) inset, 0 1px 3px rgba(143,74,31,.35);
}
.btn-principal:hover { background: linear-gradient(180deg, #D57F3B, var(--cuivre-vif)); }

.btn-secondaire {
  background: var(--surface); color: var(--charbon-700);
  border-color: var(--bord-fort); box-shadow: var(--ombre-1);
}
.btn-secondaire:hover { border-color: var(--texte-3); background: #FCFCFD; }

.btn-danger { background: var(--rouge); color: #fff; box-shadow: 0 1px 3px rgba(179,54,43,.3); }
.btn-danger:hover { background: #C2453A; }
.btn-valider { background: var(--vert); color: #fff; box-shadow: 0 1px 3px rgba(30,123,67,.3); }
.btn-valider:hover { background: #248C50; }

.btn-large { width: 100%; margin-top: 1.35rem; padding: .65rem; font-size: .95rem; }
.btn-petit { padding: .28rem .65rem; font-size: .78rem; }

/* ------------------------------------------------------------
   Alertes & toasts
   ------------------------------------------------------------ */
.alerte {
  padding: .7rem .95rem; border-radius: var(--rayon-s);
  margin: .75rem 0; font-size: .87rem; border: 1px solid;
}
.alerte::before { font-weight: 700; margin-right: .5rem; }
.alerte-erreur { background: var(--rouge-doux); color: var(--rouge); border-color: var(--rouge-bord); }
.alerte-erreur::before { content: "✕"; }
.alerte-succes { background: var(--vert-doux); color: var(--vert); border-color: var(--vert-bord); }
.alerte-succes::before { content: "✓"; }
.alerte-info { background: var(--bleu-doux); color: var(--bleu); border-color: var(--bleu-bord); }
.alerte-info::before { content: "ℹ"; }

#zone-toasts {
  position: fixed; top: 72px; right: 1.25rem; z-index: 200;
  display: flex; flex-direction: column; gap: .5rem; width: min(360px, 90vw);
}
.toast {
  padding: .7rem .95rem; border-radius: var(--rayon-s); border: 1px solid;
  font-size: .86rem; box-shadow: var(--ombre-3);
  display: flex; gap: .55rem; align-items: baseline;
  animation: toast-entree .18s ease-out;
  background: var(--surface);
}
.toast::before { font-weight: 700; }
.toast-erreur { color: var(--rouge); border-color: var(--rouge-bord); background: var(--rouge-doux); }
.toast-erreur::before { content: "✕"; }
.toast-succes { color: var(--vert); border-color: var(--vert-bord); background: var(--vert-doux); }
.toast-succes::before { content: "✓"; }
.toast-info { color: var(--bleu); border-color: var(--bleu-bord); background: var(--bleu-doux); }
.toast-info::before { content: "ℹ"; }
@keyframes toast-entree { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------
   Badges
   ------------------------------------------------------------ */
.badge {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .13rem .58rem; border-radius: 999px;
  font-size: .72rem; font-weight: 650; white-space: nowrap;
  border: 1px solid transparent; line-height: 1.5;
}
.badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.badge-sans-point::before { display: none; }

.badge-identifiee { background: var(--fond); color: var(--texte-2); border-color: var(--bord); }
.badge-resolue, .badge-enrichie { background: var(--bleu-doux); color: var(--bleu); border-color: var(--bleu-bord); }
.badge-scoree { background: var(--cuivre-doux); color: var(--cuivre); border-color: var(--cuivre-bord); }
.badge-a_valider { background: var(--orange-doux); color: var(--orange); border-color: var(--orange-bord); }
.badge-validee { background: var(--vert-doux); color: var(--vert); border-color: var(--vert-bord); }
.badge-ecartee { background: var(--rouge-doux); color: var(--rouge); border-color: var(--rouge-bord); }
.badge-transmise_bpi { background: #E7EBF7; color: #3D4F8A; border-color: #C9D2EC; }
.badge-erreur { background: var(--rouge); color: #fff; }

.badge-P1 { background: var(--vert); color: #fff; }
.badge-P2 { background: var(--orange); color: #fff; }
.badge-source { background:var(--bleu-doux); color:var(--bleu); border-color:var(--bleu-bord); }
.prequalification-eligible { background:var(--vert-doux); color:var(--vert); border-color:var(--vert-bord); }
.prequalification-a_confirmer { background:var(--orange-doux); color:var(--orange); border-color:var(--orange-bord); }
.prequalification-hors_cible { background:var(--rouge-doux); color:var(--rouge); border-color:var(--rouge-bord); }
.data-lineage { color:var(--bleu); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; }
.badge-ecarte { background: var(--rouge); color: #fff; }
.badge-donnees_insuffisantes { background: var(--fond); color: var(--texte-2); border: 1px dashed var(--bord-fort); }

.badge-haute { background: var(--vert-doux); color: var(--vert); border-color: var(--vert-bord); }
.badge-moyenne { background: var(--orange-doux); color: var(--orange); border-color: var(--orange-bord); }
.badge-basse { background: var(--rouge-doux); color: var(--rouge); border-color: var(--rouge-bord); }

/* ------------------------------------------------------------
   Tables
   ------------------------------------------------------------ */
table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: .86rem; }
th, td { text-align: left; padding: .6rem .85rem; border-bottom: 1px solid var(--bord); vertical-align: middle; }
th {
  background: #FAFBFB; font-size: .69rem; text-transform: uppercase;
  letter-spacing: .07em; color: var(--texte-2); font-weight: 700;
  border-bottom: 1px solid var(--bord-fort);
}
tbody tr { transition: background .1s; }
tbody tr:last-child td { border-bottom: none; }
tbody tr:hover { background: #FAFAF9; }
tr.ligne-ecart { background: var(--rouge-doux); }
tr.ligne-ecart:hover { background: #F7E0DD; }

th.triable { cursor: pointer; user-select: none; }
th.triable:hover { color: var(--encre); }
th.triable:focus-visible { outline:3px solid rgba(201,114,47,.38); outline-offset:-3px; color:var(--encre); }
th.triable::after { content: "↕"; margin-left: .35rem; opacity: .4; font-size: .8em; }
th.triable.tri-asc::after { content: "↑"; opacity: 1; color: var(--cuivre); }
th.triable.tri-desc::after { content: "↓"; opacity: 1; color: var(--cuivre); }

.etat-vide { padding: 2.2rem 1rem; text-align: center; color: var(--texte-2); }
.etat-vide .pictogramme { font-size: 1.6rem; display: block; margin-bottom: .4rem; opacity: .5; }
.etat-vide .pictogramme svg { width: 28px; height: 28px; display: inline-block; vertical-align: middle; }

/* ------------------------------------------------------------
   Autocomplétion (NAF) + puces de sélection
   ------------------------------------------------------------ */
.autocomplete { position: relative; }
.autocomplete-liste {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 60;
  background: var(--surface); border: 1px solid var(--bord-fort);
  border-radius: var(--rayon-s); box-shadow: var(--ombre-3);
  max-height: 320px; overflow-y: auto;
}
.autocomplete-item {
  display: flex; align-items: baseline; gap: .6rem;
  padding: .5rem .75rem; cursor: pointer; font-size: .86rem;
  border-bottom: 1px solid var(--fond);
}
.autocomplete-item:last-child { border-bottom: none; }
.autocomplete-item:hover, .autocomplete-item.actif { background: var(--cuivre-doux); }
.autocomplete-item code { flex: none; background: var(--surface); border-color: var(--cuivre-bord); color: var(--cuivre); font-weight: 650; }
.autocomplete-item span { color: var(--texte); line-height: 1.35; }
.autocomplete-vide { padding: .7rem .85rem; color: var(--texte-2); font-size: .85rem; }

.chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.chips:empty { margin-top: 0; }
.chip {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--cuivre-doux); border: 1px solid var(--cuivre-bord);
  color: var(--charbon-700); border-radius: 999px;
  padding: .22rem .35rem .22rem .6rem; font-size: .8rem; line-height: 1.3;
}
.chip code { background: transparent; border: none; padding: 0; color: var(--cuivre); font-weight: 700; }
.chip-retirer {
  border: none; background: rgba(180, 98, 45, .14); color: var(--cuivre);
  width: 18px; height: 18px; border-radius: 50%; cursor: pointer;
  font-size: .85rem; line-height: 1; display: grid; place-items: center;
  transition: background .1s;
}
.chip-retirer:hover { background: var(--rouge); color: #fff; }

/* ------------------------------------------------------------
   Barre d'outils
   ------------------------------------------------------------ */
.barre-outils {
  display: flex; gap: .8rem; align-items: end; flex-wrap: wrap;
  margin-bottom: 1rem;
}
.barre-outils label { margin: 0 0 .28rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texte-2); }
.barre-outils input, .barre-outils select { min-width: 150px; }
.barre-outils .separateur { flex: 1; }

/* ------------------------------------------------------------
   Fiche entreprise
   ------------------------------------------------------------ */
.fiche-actions {
  display: flex; gap: .55rem; justify-content: flex-end; flex-wrap: wrap;
  position: sticky; top: 58px; z-index: 40;
  background: linear-gradient(180deg, var(--fond) 78%, transparent);
  padding: .8rem 0 .9rem; margin: -1rem 0 .3rem;
}
.fiche-context {
  display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap;
  margin:0 0 .45rem; padding:.55rem .7rem; border:1px solid var(--bord); border-radius:8px;
  background:var(--surface); color:var(--texte-2); font-size:.74rem;
}
.fiche-context a { font-weight:700; }
.fiche-context strong { color:var(--encre); }
.fiche-entete { display: flex; justify-content: space-between; gap: 1.75rem; flex-wrap: wrap; }
.fiche-identite { flex:1; min-width:300px; }
.fiche-entete h1 { font-size: 1.55rem; }
.fiche-badges { display: flex; gap: .4rem; flex-wrap: wrap; margin: .3rem 0 .9rem; }
.fiche-resolution-limitee { display:grid; gap:.18rem; margin:0 0 .9rem; padding:.72rem .82rem; border:1px solid var(--orange-bord); border-left:3px solid var(--orange); border-radius:8px; background:var(--orange-doux); }
.fiche-resolution-limitee strong { color:#7a4b08; font-size:.78rem; }
.fiche-resolution-limitee span { color:var(--texte-2); font-size:.72rem; line-height:1.45; }
.fiche-resolution-limitee small { color:var(--texte-3); font:650 .62rem var(--mono); }
.fiche-meta {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: .8rem 1.5rem; font-size: .88rem;
}
.fiche-meta div b {
  display: block; font-size: .66rem; color: var(--texte-3);
  text-transform: uppercase; font-weight: 700; letter-spacing: .06em; margin-bottom: .1rem;
}

/* anneau de score (conic-gradient, zéro JS) */
.score-bloc { display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 170px; justify-content: center; }
.score-anneau {
  --pct: 0; --couleur: var(--cuivre);
  width: 112px; height: 112px; border-radius: 50%;
  background: conic-gradient(var(--couleur) calc(var(--pct) * 1%), var(--bord) 0);
  display: grid; place-items: center;
}
.score-anneau > span {
  width: 86px; height: 86px; border-radius: 50%; background: var(--surface);
  display: flex; align-items: center; justify-content: center; gap: 1px;
  font-size: 1.5rem; font-weight: 750; letter-spacing: -.02em; color: var(--encre);
  box-shadow: var(--ombre-1);
}
.score-anneau > span small { font-size: .55em; font-weight: 600; align-self: center; margin-top: .5em; }
.score-bloc .details { font-size: .72rem; color: var(--texte-2); text-align: center; line-height: 1.5; }

/* critères */
.critere {
  border: 1px solid var(--bord); border-left: 3px solid var(--bord-fort);
  border-radius: var(--rayon-s); margin-bottom: .5rem;
  background: var(--surface); box-shadow: var(--ombre-1);
  overflow: hidden;
}
.critere summary {
  display: flex; align-items: center; gap: .8rem; padding: .68rem .95rem;
  cursor: pointer; list-style: none; flex-wrap: wrap;
  transition: background .1s;
}
.critere summary:hover { background: #FBFBFA; }
.critere summary::-webkit-details-marker { display: none; }
.critere summary::before {
  content: "›"; color: var(--texte-3); font-size: 1.1rem; font-weight: 700;
  transition: transform .15s; flex: none; width: .7rem;
}
.critere[open] summary::before { transform: rotate(90deg); }
.critere summary .libelle { flex: 1; font-weight: 620; font-size: .9rem; min-width: 180px; }
.critere-corps { padding: .35rem 1rem 1rem 2.4rem; border-top: 1px solid var(--fond); }
.critere.positif { border-left-color: var(--vert); }
.critere.negatif { border-left-color: var(--rouge); background: linear-gradient(180deg, #FFF9F8, var(--surface)); }
.critere.negatif summary .libelle { color: var(--rouge); }
.critere.insuffisant { border-left-color: var(--bord-fort); border-left-style: dashed; }

.pastille-verdict { font-weight: 650; font-size: .8rem; }
.barre-note { width: 96px; height: 7px; background: var(--bord); border-radius: 4px; overflow: hidden; flex: none; }
.barre-note > div { height: 100%; background: var(--cuivre); border-radius: 4px; }
.barre-note.verte > div { background: var(--vert); }
.barre-note.rouge > div { background: var(--rouge); }

/* faits */
.fait {
  padding: .55rem .75rem; border-left: 3px solid var(--bord-fort);
  margin: .45rem 0; background: #FAFAF9;
  border-radius: 0 var(--rayon-s) var(--rayon-s) 0; font-size: .85rem;
}
.fait.positif { border-left-color: var(--vert); }
.fait.negatif { border-left-color: var(--rouge); background: var(--rouge-doux); }
.fait .extrait { display: block; color: var(--texte-2); font-style: italic; margin-top: .2rem; }
.fait .source { display: block; font-size: .76rem; margin-top: .25rem; }
.fait .source a { word-break: break-all; }

/* ------------------------------------------------------------
   Modale
   ------------------------------------------------------------ */
.modale-fond {
  position: fixed; inset: 0; background: rgba(22, 25, 30, .5);
  backdrop-filter: blur(2px);
  display: flex; align-items: center; justify-content: center; z-index: 100;
}
.modale {
  background: var(--surface); border-radius: 14px; padding: 1.6rem;
  width: min(480px, 92vw); box-shadow: var(--ombre-3);
  animation: modale-entree .16s ease-out;
}
@keyframes modale-entree { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.modale h2 { margin: 0 0 .3rem; font-size: 1.05rem; text-transform: none; letter-spacing: 0; color: var(--encre); }
.modale-actions { display: flex; justify-content: flex-end; gap: .6rem; margin-top: 1.3rem; }
.cache { display: none !important; }

/* ------------------------------------------------------------
   Divers
   ------------------------------------------------------------ */
.pastille-ecart { color: var(--rouge); font-weight: 750; }
.liste-simple { margin: 0; padding-left: 1.15rem; }
.liste-simple li { margin: .22rem 0; }

/* ============================================================
   Décision Intelligence v2
   ============================================================ */
.eyebrow {
  display: block; color: var(--cuivre); font-size: .68rem; font-weight: 780;
  text-transform: uppercase; letter-spacing: .11em; margin-bottom: .2rem;
}
.page-entete .eyebrow + h1 { margin-top: .05rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.7rem 0 .75rem; }
.section-heading h2, .section-heading h3 { margin: 0; }
.count-pill { min-width: 29px; height: 29px; display: grid; place-items: center; padding: 0 .55rem; border-radius: 999px; background: var(--charbon-800); color: #fff; font-weight: 760; font-size: .76rem; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; margin-bottom: 1.5rem; }
.metric-card { background: var(--surface); border: 1px solid var(--bord); border-radius: 12px; padding: 1rem 1.1rem; box-shadow: var(--ombre-1); }
.metric-card > span { display:block; color: var(--texte-2); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.metric-card strong { display:block; font-size:1.7rem; line-height:1.2; color:var(--encre); margin:.35rem 0 .12rem; letter-spacing:-.03em; }
.metric-card small { font-size:.73rem; }
.metric-card.danger { border-top:3px solid var(--rouge); }
.metric-card.warning { border-top:3px solid var(--orange); }

.decision-metrics { width: 310px; flex: none; display:flex; flex-direction:column; gap:.62rem; padding:.2rem; }
.metric-compact { display:grid; grid-template-columns:1fr auto; gap:.2rem .8rem; align-items:center; }
.metric-label { color:var(--texte-2); font-size:.75rem; font-weight:650; }
.metric-compact strong { font: 760 1rem var(--mono); color:var(--encre); }
.metric-track { grid-column:1/-1; height:6px; background:var(--bord); border-radius:9px; overflow:hidden; }
.metric-track i { display:block; height:100%; border-radius:inherit; background:var(--cuivre); }
.metric-compact.preuve .metric-track i { background:var(--bleu); }
.metric-compact.timing .metric-track i { background:var(--orange); }
.recommendation { margin-top:.25rem; padding:.72rem .8rem; border-radius:9px; display:flex; justify-content:space-between; align-items:center; border:1px solid var(--bord); }
.recommendation span { font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--texte-2); font-weight:700; }
.recommendation strong { text-transform:capitalize; }
.recommendation-prioritaire { background:var(--vert-doux); border-color:var(--vert-bord); color:var(--vert); }
.recommendation-a_enqueter { background:var(--bleu-doux); border-color:var(--bleu-bord); color:var(--bleu); }
.recommendation-a_surveiller { background:var(--orange-doux); border-color:var(--orange-bord); color:var(--orange); }
.recommendation-ecarte { background:var(--rouge-doux); border-color:var(--rouge-bord); color:var(--rouge); }
.recommendation-pill { display:inline-flex; border-radius:999px; padding:.26rem .58rem; font-size:.73rem; font-weight:750; white-space:nowrap; text-transform:capitalize; border:1px solid; }
.recommendation-pill.recommendation-prioritaire { color:var(--vert); }
.recommendation-pill.recommendation-a_enqueter { color:var(--bleu); }
.recommendation-pill.recommendation-a_surveiller { color:var(--orange); }
.recommendation-pill.recommendation-ecarte { color:var(--rouge); }

.decision-brief { display:grid; grid-template-columns:1.35fr 1fr; gap:1px; background:var(--bord); border:1px solid var(--bord); border-radius:var(--rayon); overflow:hidden; margin:1rem 0; box-shadow:var(--ombre-1); }
.decision-brief > div { background:var(--surface); padding:1rem 1.15rem; }
.decision-brief strong { display:block; font-size:1rem; color:var(--encre); }
.decision-columns { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.decision-columns .carte { border-top:3px solid var(--vert); }
.decision-columns .anti-these { border-top-color:var(--rouge); background:linear-gradient(180deg,#fffafa,#fff); }
.decision-columns h3 { font-size:1.05rem; margin:.1rem 0 .65rem; }
.decision-columns p { white-space:normal; margin:0; line-height:1.65; }
.questions-card { padding:0; overflow:hidden; }
.questions-card > summary { list-style:none; cursor:pointer; }
.questions-card > summary::-webkit-details-marker { display:none; }
.questions-card > summary::marker { content:''; }
.questions-card .section-heading { margin:0; padding:1rem 1.15rem; }
.questions-card[open] .section-heading { border-bottom:1px solid var(--bord); background:#FCFCFB; }
.questions-card .section-heading:hover { background:#FCFCFB; }
.questions-card .section-heading h3 { margin:.08rem 0 0; }
.questions-card .section-heading > div > small { display:block; margin-top:.15rem; color:var(--texte-2); font-size:.66rem; font-weight:520; }
.decision-limits-summary-meta { display:flex; align-items:center; gap:.65rem; flex:none; }
.decision-limits-summary-meta i { color:var(--cuivre); font-size:1.25rem; font-style:normal; line-height:1; transition:transform .15s ease; }
.questions-card[open] .decision-limits-summary-meta i { transform:rotate(90deg); }
.questions-card-body > .sourdine:first-child { margin:0; padding:.85rem 1.15rem; border-bottom:1px solid var(--fond); line-height:1.55; }
.question-row { display:grid; grid-template-columns:1.2fr 1fr; gap:1.2rem; padding:.85rem 1.15rem; border-bottom:1px solid var(--fond); align-items:start; }
.question-row:last-child { border-bottom:none; }
.question-row strong, .question-row small { display:block; }
.question-row small { color:var(--cuivre); margin-top:.22rem; font-size:.7rem; font-weight:680; }
.question-row small span { margin-right:.38rem; color:var(--texte-3); font-size:.58rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.question-row > span { color:var(--texte-2); font-size:.82rem; }

.fait-entete { display:flex; justify-content:space-between; gap:.7rem; align-items:flex-start; }
.preuve { display:inline-flex; flex:none; padding:.16rem .45rem; border-radius:999px; font-size:.66rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.preuve-forte { color:var(--vert); background:var(--vert-doux); }
.preuve-moyenne { color:var(--bleu); background:var(--bleu-doux); }
.preuve-faible { color:var(--orange); background:var(--orange-doux); }
.preuve-a_verifier { color:var(--texte-2); background:var(--fond); border:1px dashed var(--bord-fort); }
.preuve-controles { display:flex; flex-wrap:wrap; gap:.45rem; font-size:.68rem; margin-top:.35rem; }
.preuve-controles .ok { color:var(--vert); }
.preuve-controles .ko { color:var(--texte-3); }

.table-metric { min-width:90px; }
.table-metric strong { display:block; font:700 .78rem var(--mono); margin-bottom:.18rem; }
.table-metric > span { display:block; width:100%; height:5px; background:var(--bord); border-radius:5px; overflow:hidden; }
.table-metric i { display:block; height:100%; background:var(--cuivre); }
.table-metric i.preuve { background:var(--bleu); padding:0; border-radius:0; }
.table-metric i.timing { background:var(--orange); }

.suivi-panel { padding:0; overflow:hidden; }
.suivi-panel > summary { list-style:none; cursor:pointer; padding:.85rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.suivi-panel > summary::-webkit-details-marker { display:none; }
.suivi-panel > summary strong { display:block; }
.suivi-form { border-top:1px solid var(--bord); padding:1rem; display:grid; grid-template-columns:repeat(3,1fr); gap:.2rem 1rem; background:#FCFCFB; }
.suivi-form .span-2 { grid-column:span 2; }
.suivi-actions { display:flex; align-items:end; justify-content:flex-end; }

.vertical-selector { display:flex; justify-content:space-between; align-items:center; gap:1rem; background:var(--charbon-800); color:#fff; border-radius:10px; padding:.8rem 1rem; margin-bottom:1rem; }
.vertical-selector strong { display:block; }
.vertical-selector select { width:auto; min-width:260px; border-color:var(--charbon-600); background:var(--charbon-700); color:#fff; }
.inline-select { display:flex; align-items:center; gap:.5rem; margin:0; }
.inline-select select { width:auto; min-width:220px; }

/* ------------------------------------------------------------
   Univers — étape guidée : décrire → cadrer → vérifier/importer
   ------------------------------------------------------------ */
.univers-page-entete .grille-titre { max-width:760px; }
.univers-mission {
  display:grid; grid-template-columns:44px minmax(0,1fr) minmax(255px,auto); gap:1rem; align-items:center;
  margin:0 0 1rem; padding:1rem 1.15rem; border:1px solid var(--bleu-bord); border-radius:11px;
  background:linear-gradient(135deg,var(--bleu-doux),var(--surface) 74%); box-shadow:var(--ombre-1);
}
.univers-mission-index { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--bleu); color:#fff; font:760 .82rem var(--mono); box-shadow:0 0 0 4px rgba(44,95,138,.10); }
.univers-mission .eyebrow { color:var(--bleu); margin:0; }
.univers-mission h2 { margin:.1rem 0 .15rem; color:var(--encre); font-size:1.02rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.univers-mission p { margin:0; color:var(--texte-2); font-size:.76rem; line-height:1.48; }
.univers-mission-output { padding:.65rem .8rem; border:1px solid var(--bleu-bord); border-radius:9px; background:#fff; }
.univers-mission-output span,.univers-mission-output strong,.univers-mission-output small { display:block; }
.univers-mission-output span { color:var(--bleu); font-size:.6rem; font-weight:760; text-transform:uppercase; letter-spacing:.07em; }
.univers-mission-output strong { margin:.15rem 0; color:var(--encre); font-size:.76rem; }
.univers-mission-output small { color:var(--texte-2); font-size:.62rem; line-height:1.35; }

.univers-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1rem; align-items:start; margin-bottom:1rem; }
.sector-studio { min-width:0; margin:0; padding:0; overflow:visible; border-color:#D9DDE2; box-shadow:var(--ombre-2); }
.univers-workflow > form { margin:0; }
.univers-mini-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; list-style:none; border-bottom:1px solid var(--bord); border-radius:var(--rayon) var(--rayon) 0 0; overflow:hidden; background:#F8F8F7; }
.univers-mini-progress li { position:relative; display:flex; align-items:center; gap:.6rem; min-width:0; padding:.72rem .9rem; color:var(--texte-2); border-right:1px solid var(--bord); }
.univers-mini-progress li:last-child { border-right:0; }
.univers-mini-progress li > span { display:grid; place-items:center; flex:none; width:25px; height:25px; border:1px solid var(--bord-fort); border-radius:50%; background:#fff; color:var(--texte-2); font:720 .66rem var(--mono); }
.univers-mini-progress strong,.univers-mini-progress small { display:block; }
.univers-mini-progress strong { color:inherit; font-size:.7rem; }
.univers-mini-progress small { margin-top:.02rem; font-size:.58rem; }
.univers-mini-progress li.est-active { color:var(--cuivre); background:var(--cuivre-doux); box-shadow:inset 0 -2px 0 var(--cuivre); }
.univers-mini-progress li.est-active > span { color:#fff; border-color:var(--cuivre); background:var(--cuivre); }
.univers-mini-progress li.est-fait { color:var(--vert); background:var(--vert-doux); }
.univers-mini-progress li.est-fait > span { border-color:var(--vert); color:var(--vert); }
.univers-mini-progress li.est-fait > span::after { content:'✓'; }
.univers-mini-progress li.est-fait > span { font-size:0; }
.univers-mini-progress li.est-fait > span::after { font-size:.68rem; }

.univers-flow-step { border-bottom:1px solid var(--bord); background:#fff; }
.univers-flow-step:last-child { border-bottom:0; border-radius:0 0 var(--rayon) var(--rayon); }
.univers-flow-step.est-verrouille { background:#FAFAF9; }
.univers-flow-step.est-attention { background:#FFFCF7; }
.univers-step-head { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:.8rem; align-items:start; padding:1.15rem 1.25rem 1rem; }
.univers-step-number { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--bord-fort); border-radius:9px; background:var(--fond); color:var(--texte-2); font:760 .75rem var(--mono); }
.univers-flow-step.est-active .univers-step-number { border-color:var(--cuivre); background:var(--cuivre); color:#fff; }
.univers-flow-step.est-fait .univers-step-number { border-color:var(--vert); background:var(--vert-doux); color:var(--vert); }
.univers-step-head .eyebrow { margin:0; }
.univers-step-head h2 { margin:.12rem 0 .18rem; color:var(--encre); font-size:1.06rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.univers-step-head p { max-width:690px; margin:0; color:var(--texte-2); font-size:.71rem; line-height:1.45; }
.univers-flow-step.est-verrouille .univers-step-head { opacity:.72; }
.univers-step-state { align-self:center; padding:.24rem .52rem; border:1px solid var(--bord); border-radius:999px; background:var(--fond); color:var(--texte-2); font-size:.61rem; font-weight:720; white-space:nowrap; }
.univers-flow-step.est-active .univers-step-state { border-color:var(--cuivre-bord); background:var(--cuivre-doux); color:var(--cuivre); }
.univers-flow-step.est-fait .univers-step-state { border-color:var(--vert-bord); background:var(--vert-doux); color:var(--vert); }
.univers-flow-step.est-attention .univers-step-state { border-color:var(--orange-bord); background:var(--orange-doux); color:var(--orange); }
.univers-step-lock { display:flex; align-items:center; gap:.7rem; margin:0 1.25rem 1.15rem; padding:.7rem .8rem; border:1px dashed var(--bord-fort); border-radius:8px; background:rgba(255,255,255,.72); }
.univers-step-lock > span { display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:50%; background:var(--fond); color:var(--texte-3); font:720 .64rem var(--mono); }
.univers-step-lock p { margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.4; }
.univers-step-lock strong { color:var(--encre); }
.univers-step-body { padding:0 1.25rem 1.25rem; }

.intent-panel { padding:0 1.25rem 1.2rem; background:linear-gradient(155deg,#fff,#FCFBFA); }
.intent-panel > label { margin:.9rem 0 .45rem; color:var(--encre); font-size:.86rem; font-weight:720; }
.intent-panel textarea { min-height:126px; padding:.85rem .95rem; border-color:#C8CDD4; font-size:.92rem; line-height:1.55; box-shadow:0 1px 2px rgba(22,25,30,.03) inset; resize:vertical; }
.univers-why-naf { display:flex; gap:.65rem; align-items:flex-start; padding:.7rem .8rem; border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux); }
.univers-why-naf > span { display:grid; place-items:center; width:22px; height:22px; flex:none; border-radius:50%; background:var(--bleu); color:#fff; font:760 .68rem Georgia,serif; }
.univers-why-naf p { margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.45; }
.univers-why-naf strong { color:var(--bleu); }
.intent-guidance { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.55rem; }
.intent-guidance span { padding:.25rem .5rem; border:1px solid var(--bord); border-radius:999px; background:var(--fond); color:var(--texte-2); font-size:.62rem; }
.intent-guidance b { color:var(--cuivre); }
.intent-terrain-hint { margin:.5rem 0 0; color:var(--bleu); font-size:.63rem; font-weight:630; line-height:1.4; }
.intent-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.85rem; padding-top:.85rem; border-top:1px solid var(--bord); }
.intent-actions > span { max-width:340px; color:var(--texte-2); font-size:.65rem; line-height:1.4; }
.btn-analyse-naf { min-height:48px; flex-direction:column; padding:.65rem .9rem; white-space:normal; text-align:center; }
.btn-analyse-naf span { font-size:.83rem; }
.btn-analyse-naf small { color:rgba(255,255,255,.76); font-size:.58rem; font-weight:560; }
.analyse-status { display:flex; align-items:center; gap:.65rem; margin-top:.8rem; padding:.65rem .75rem; border:1px solid var(--bord); border-radius:var(--rayon-s); background:var(--fond); color:var(--texte-2); font-size:.74rem; line-height:1.4; }
.analyse-status.en-cours { color:var(--bleu); border-color:var(--bleu-bord); background:var(--bleu-doux); }
.analyse-spinner { width:15px; height:15px; flex:none; border:2px solid rgba(44,95,138,.22); border-top-color:var(--bleu); border-radius:50%; animation:jobs-rotation .7s linear infinite; }

.clarification-panel { margin:0 1.25rem 1.2rem; padding:1rem; border:1px solid var(--bleu-bord); border-radius:var(--rayon); background:linear-gradient(135deg,var(--bleu-doux),#fff); }
.clarification-panel h3 { margin:.18rem 0 .2rem; color:var(--encre); font-size:1rem; line-height:1.35; }
.clarification-panel p { margin:0 0 .7rem; color:var(--texte-2); font-size:.68rem; }
.clarification-choices { display:flex; flex-wrap:wrap; gap:.5rem; }
.clarification-choice { padding:.55rem .75rem; border:1px solid var(--bleu-bord); border-radius:var(--rayon-s); background:#fff; color:var(--bleu); font:inherit; font-size:.76rem; font-weight:650; cursor:pointer; box-shadow:var(--ombre-1); }
.clarification-choice:hover { border-color:var(--bleu); background:#F8FBFD; }

.propositions-panel { margin:0 1.25rem 1.2rem; padding:1rem; border:1px solid var(--bord); border-radius:9px; background:#FBFBFA; }
.propositions-panel .section-heading { margin:0 0 .7rem; align-items:flex-start; }
.propositions-panel h3 { margin:.12rem 0 .15rem; color:var(--encre); font-size:1rem; line-height:1.35; }
.propositions-panel .section-heading p { margin:0; color:var(--texte-2); font-size:.66rem; line-height:1.42; }
.reference-guard { display:inline-flex; flex:none; color:var(--vert); background:var(--vert-doux); border:1px solid var(--vert-bord); border-radius:999px; padding:.24rem .55rem; font-size:.61rem; font-weight:700; }
.naf-relevance-key { display:flex; flex-wrap:wrap; gap:.38rem; margin-bottom:.7rem; }
.naf-relevance-key span { padding:.17rem .42rem; border-radius:999px; background:var(--fond); color:var(--texte-2); font-size:.58rem; font-weight:700; }
.naf-relevance-key .pertinence-principal { color:var(--vert); background:var(--vert-doux); }
.naf-relevance-key .pertinence-connexe { color:var(--orange); background:var(--orange-doux); }
.naf-proposal-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.naf-proposal-card { position:relative; display:grid; grid-template-columns:20px 1fr; gap:.65rem; align-items:flex-start; margin:0; padding:.78rem; border:1px solid var(--bord); border-radius:9px; background:#fff; cursor:pointer; box-shadow:var(--ombre-1); transition:border-color .12s,box-shadow .12s,opacity .12s; }
.naf-proposal-card:hover { border-color:var(--bord-fort); box-shadow:var(--ombre-2); }
.naf-proposal-card input { position:absolute; opacity:0; }
.proposal-check { width:19px; height:19px; margin-top:1px; display:grid; place-items:center; border:1.5px solid var(--bord-fort); border-radius:5px; background:#fff; }
.naf-proposal-card input:checked + .proposal-check { border-color:var(--cuivre); background:var(--cuivre); }
.naf-proposal-card input:checked + .proposal-check::after { content:'✓'; color:#fff; font-size:.72rem; line-height:1; font-weight:800; }
.naf-proposal-card:has(input:checked) { border-color:var(--cuivre-bord); background:linear-gradient(145deg,#fff,var(--cuivre-doux)); }
.naf-proposal-card:has(input:focus-visible) { outline:3px solid rgba(201,114,47,.38); outline-offset:2px; }
.proposal-content,.proposal-content strong,.proposal-content small { display:block; min-width:0; }
.proposal-content strong { margin:.32rem 0 .18rem; color:var(--encre); font-size:.8rem; line-height:1.35; }
.proposal-content small { color:var(--texte-2); font-size:.64rem; line-height:1.4; }
.proposal-top { display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.relevance-badge { border-radius:999px; padding:.12rem .38rem; background:var(--fond); color:var(--texte-2); font-size:.55rem; font-weight:730; text-transform:uppercase; letter-spacing:.025em; }
.pertinence-principal .relevance-badge { color:var(--vert); background:var(--vert-doux); }
.pertinence-connexe .relevance-badge { color:var(--orange); background:var(--orange-doux); }
.pertinence-connexe:not(:has(input:checked)) { opacity:.76; }
.proposal-confirm { display:flex; justify-content:flex-end; align-items:center; gap:1rem; margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--bord); }

.manual-naf { border-top:1px solid var(--bord); background:#fff; }
.manual-naf > summary,.univers-advanced-details > summary { display:flex; align-items:center; gap:.4rem; list-style:none; cursor:pointer; color:var(--texte-2); font-size:.7rem; font-weight:650; }
.manual-naf > summary { padding:.75rem 1.25rem; }
.manual-naf > summary::-webkit-details-marker,.univers-advanced-details > summary::-webkit-details-marker { display:none; }
.manual-naf > summary::before,.univers-advanced-details > summary::before { content:'＋'; display:inline-block; width:1.1rem; color:var(--cuivre); }
.manual-naf[open] > summary::before,.univers-advanced-details[open] > summary::before { content:'−'; }
.manual-naf > summary > span,.univers-advanced-details > summary > span { margin-left:auto; padding:.1rem .38rem; border-radius:999px; background:var(--fond); color:var(--texte-3); font-size:.55rem; text-transform:uppercase; letter-spacing:.04em; }
.manual-naf-body { padding:0 1.25rem 1.1rem; }
.manual-naf-body label { margin-top:.2rem; }
.confirmed-scope { display:grid; grid-template-columns:175px 1fr; gap:1rem; align-items:start; padding:.9rem 1.25rem; border-top:1px solid var(--vert-bord); background:var(--vert-doux); }
.confirmed-scope strong { display:block; color:var(--vert); font-size:.76rem; }
.confirmed-scope .btn-lien { margin-top:.28rem; color:var(--vert); font-size:.64rem; }
.confirmed-scope .btn-lien:hover { color:var(--encre); }
.confirmed-scope .chips { margin:0; }

.collection-truth { display:grid; grid-template-columns:1fr auto 1fr; gap:.65rem; align-items:stretch; margin-bottom:1rem; padding:.75rem; border:1px solid var(--bleu-bord); border-radius:9px; background:var(--bleu-doux); }
.collection-truth > div { padding:.65rem .7rem; border:1px solid rgba(44,95,138,.16); border-radius:7px; background:rgba(255,255,255,.76); }
.collection-truth > span { align-self:center; color:var(--bleu); }
.collection-truth strong,.collection-truth small { display:block; }
.collection-truth strong { margin:.12rem 0; color:var(--encre); font-size:.74rem; }
.collection-truth small { color:var(--texte-2); font-size:.6rem; line-height:1.35; }
.collection-truth .eyebrow { color:var(--bleu); font-size:.55rem; }
.univers-settings-section { margin-top:.85rem; padding:1rem; border:1px solid var(--bord); border-radius:9px; background:#fff; }
.univers-settings-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.univers-settings-heading h3 { margin:.1rem 0 0; color:var(--encre); font-size:.9rem; line-height:1.35; }
.source-free-badge { flex:none; padding:.23rem .5rem; border:1px solid var(--vert-bord); border-radius:999px; background:var(--vert-doux); color:var(--vert); font-size:.59rem; font-weight:720; }
.univers-collection-fields,.univers-paired-fields { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.univers-collection-fields label,.univers-paired-fields label,.pappers-budget-field label { margin-top:0; }
.univers-collection-fields small,.univers-paired-fields small,.pappers-budget-field small { display:block; margin-top:.3rem; color:var(--texte-2); font-size:.6rem; line-height:1.4; }
.label-optionnel { color:var(--texte-3); font-size:.58rem; font-weight:600; }
.prequalification-settings { background:#FCFCFB; }
.prequalification-settings > p { margin:-.25rem 0 .8rem; color:var(--texte-2); font-size:.65rem; line-height:1.45; }
.btn-tertiaire { min-height:32px; border:1px solid var(--bord); background:#fff; color:var(--texte-2); }
.btn-tertiaire:hover { border-color:var(--cuivre-bord); color:var(--cuivre); }
.btn-compact { padding:.38rem .6rem; font-size:.62rem; }
.ca-reference-grid { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:.6rem; }
.ca-reference-grid > div { padding:.7rem .75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.ca-reference-grid span,.ca-reference-grid strong,.ca-reference-grid small { display:block; }
.ca-reference-grid span { color:var(--texte-2); font-size:.58rem; text-transform:uppercase; letter-spacing:.04em; }
.ca-reference-grid strong { margin:.18rem 0; color:var(--encre); font-size:.86rem; }
.ca-reference-grid small { color:var(--texte-2); font-size:.58rem; }
.ca-reference-grid .ca-reference-rule { border-color:var(--bleu-bord); background:var(--bleu-doux); }
.ca-reference-grid .ca-reference-rule strong { color:var(--bleu); }
.univers-advanced-details { margin-top:.75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.univers-advanced-details > summary { padding:.7rem .8rem; }
.univers-advanced-body { padding:0 .8rem .8rem 1.9rem; }
.univers-advanced-body > p { margin:0 0 .7rem; color:var(--texte-2); font-size:.63rem; line-height:1.45; }
.pappers-options { background:#FFFDFC; border-color:var(--cuivre-bord); }
.pappers-option-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.pappers-option-head strong { display:block; color:var(--encre); font-size:.72rem; }
.pappers-option-head p { margin:.15rem 0 0; color:var(--texte-2); font-size:.61rem; line-height:1.4; }
.switch-row { display:flex; align-items:center; gap:.4rem; margin:0; padding:.42rem .62rem; border:1px solid var(--cuivre-bord); border-radius:999px; background:#fff; font-size:.68rem; font-weight:650; white-space:nowrap; }
.switch-row input { width:auto; margin:0; accent-color:var(--cuivre); }
.pappers-unavailable { margin:.55rem 0 0 !important; padding:.5rem .6rem; border-radius:7px; background:var(--fond); }
.pappers-budget-field { max-width:310px; margin-top:.7rem; }
.input-suffix { display:flex; align-items:stretch; }
.input-suffix input { min-width:0; border-radius:var(--rayon-s) 0 0 var(--rayon-s); }
.input-suffix span { display:flex; align-items:center; padding:0 .65rem; border:1px solid var(--bord-fort); border-left:0; border-radius:0 var(--rayon-s) var(--rayon-s) 0; background:var(--fond); color:var(--texte-2); font-size:.7rem; white-space:nowrap; }
.univers-inline-error { margin-top:.8rem; padding:.65rem .75rem; border:1px solid var(--rouge-bord); border-radius:8px; background:var(--rouge-doux); color:var(--rouge); font-size:.7rem; }
.universe-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--bord); }
.universe-actions strong,.universe-actions small { display:block; }
.universe-actions strong { color:var(--encre); font-size:.72rem; }
.universe-actions small { margin-top:.12rem; color:var(--texte-2); font-size:.61rem; }

.univers-estimate-card { border:1px solid var(--vert-bord); border-radius:10px; overflow:hidden; background:linear-gradient(145deg,#fff,var(--vert-doux)); }
.univers-estimate-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-bottom:1px solid var(--vert-bord); }
.univers-estimate-head h3 { margin:.1rem 0 0; color:var(--encre); font-size:.94rem; }
.univers-estimate-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--vert-bord); }
.univers-estimate-metrics > div { padding:.9rem; background:rgba(255,255,255,.9); }
.univers-estimate-metrics span,.univers-estimate-metrics strong,.univers-estimate-metrics small { display:block; }
.univers-estimate-metrics span { color:var(--texte-2); font-size:.58rem; text-transform:uppercase; letter-spacing:.04em; }
.univers-estimate-metrics strong { margin:.25rem 0 .12rem; color:var(--encre); font-size:1.22rem; }
.univers-estimate-metrics small { color:var(--texte-2); font-size:.58rem; line-height:1.35; }
.univers-after-import { display:flex; align-items:center; gap:.65rem; padding:.75rem .9rem; }
.univers-after-import > span { display:grid; place-items:center; width:27px; height:27px; flex:none; border-radius:50%; background:var(--vert); color:#fff; }
.univers-after-import p { margin:0; color:var(--texte-2); font-size:.65rem; line-height:1.4; }
.univers-after-import strong { color:var(--vert); }
.univers-stale { margin-top:.75rem; padding:.65rem .75rem; border:1px solid var(--orange-bord); border-radius:8px; background:var(--orange-doux); color:var(--texte-2); font-size:.67rem; }
.univers-stale strong { color:var(--orange); }
.univers-import-actions { display:flex; justify-content:flex-end; gap:.6rem; margin-top:.9rem; }

.univers-sidebar { min-width:0; }
.univers-sidebar > .carte { margin-bottom:1rem; }
.univers-state-card { position:sticky; top:76px; padding:1.05rem; border-color:var(--cuivre-bord); box-shadow:var(--ombre-2); }
.univers-current-total { display:block; margin:.3rem 0 -.1rem; color:var(--cuivre); font:780 2.2rem/1 var(--mono); letter-spacing:-.05em; }
.univers-state-card h2,.univers-guide-card h2 { margin:.25rem 0 .45rem; color:var(--encre); font-size:.92rem; line-height:1.35; letter-spacing:0; text-transform:none; }
.univers-state-card > p { margin:0; color:var(--texte-2); font-size:.65rem; line-height:1.45; }
.univers-state-list { margin:.85rem 0; border-top:1px solid var(--bord); }
.univers-state-list > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--bord); }
.univers-state-list dt { color:var(--texte-2); font-size:.62rem; }
.univers-state-list dd { margin:0; color:var(--encre); font:720 .68rem var(--mono); }
.univers-sidebar-cta { width:100%; min-height:38px; text-align:center; }
.univers-guide-card { padding:1rem; }
.univers-guide-card ol { margin:.75rem 0; padding:0; list-style:none; }
.univers-guide-card li { display:flex; gap:.6rem; align-items:flex-start; padding:.45rem 0; border-bottom:1px solid var(--bord); }
.univers-guide-card li:last-child { border-bottom:0; }
.univers-guide-card li > span { display:grid; place-items:center; width:23px; height:23px; flex:none; border-radius:50%; background:var(--fond); color:var(--cuivre); font:720 .62rem var(--mono); }
.univers-guide-card p,.univers-guide-card strong,.univers-guide-card small { display:block; margin:0; }
.univers-guide-card strong { color:var(--encre); font-size:.68rem; }
.univers-guide-card small { margin-top:.08rem; color:var(--texte-2); font-size:.59rem; line-height:1.35; }
.univers-guide-boundary { padding:.65rem .7rem; border:1px solid var(--bord); border-radius:8px; background:var(--fond); }
.univers-guide-boundary strong,.univers-guide-boundary span { display:block; }
.univers-guide-boundary strong { color:var(--texte-2); font-size:.62rem; }
.univers-guide-boundary span { margin-top:.12rem; color:var(--texte-2); font-size:.59rem; line-height:1.4; }

.univers-confirm-dialog { width:min(540px,calc(100vw - 2rem)); padding:0; border:1px solid var(--bord); border-radius:12px; background:#fff; box-shadow:var(--ombre-3); }
.univers-confirm-dialog::backdrop { background:rgba(22,25,30,.64); backdrop-filter:blur(2px); }
.univers-dialog-inner { position:relative; padding:1.25rem; }
.univers-dialog-inner h2 { margin:.12rem 0 .35rem; color:var(--encre); font-size:1.15rem; text-transform:none; }
.univers-dialog-inner > p { margin:0; color:var(--texte-2); font-size:.72rem; line-height:1.5; }
.univers-dialog-close { position:absolute; top:.7rem; right:.75rem; width:30px; height:30px; border:0; border-radius:50%; background:var(--fond); color:var(--texte-2); font-size:1.15rem; cursor:pointer; }
.univers-dialog-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin:1rem 0; }
.univers-dialog-summary > div { padding:.65rem; border:1px solid var(--bord); border-radius:8px; background:var(--fond); }
.univers-dialog-summary dt { color:var(--texte-2); font-size:.57rem; text-transform:uppercase; letter-spacing:.04em; }
.univers-dialog-summary dd { margin:.2rem 0 0; color:var(--encre); font-size:.7rem; font-weight:720; }
.univers-confirm-check { display:flex; align-items:flex-start; gap:.55rem; margin:0; padding:.7rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); color:var(--texte-2); font-size:.68rem; line-height:1.4; }
.univers-confirm-check input { width:auto; margin:.15rem 0 0; accent-color:var(--cuivre); }
.univers-dialog-actions { display:flex; justify-content:flex-end; gap:.55rem; margin-top:1rem; }

.univers-secondary-details { margin:0 0 .7rem; padding:0; overflow:hidden; }
.univers-secondary-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; list-style:none; cursor:pointer; }
.univers-secondary-details > summary::-webkit-details-marker { display:none; }
.univers-secondary-details > summary:hover { background:#FBFBFA; }
.univers-secondary-details > summary strong,.univers-secondary-details > summary small { display:block; }
.univers-secondary-details > summary strong { color:var(--encre); font-size:.76rem; }
.univers-secondary-details > summary small { margin-top:.08rem; color:var(--texte-2); font-size:.61rem; }
.univers-summary-meta { display:flex; align-items:center; gap:.5rem; flex:none; color:var(--texte-2); font-size:.62rem; font-weight:650; white-space:nowrap; }
.univers-summary-meta i { color:var(--cuivre); font-size:1.1rem; font-style:normal; transition:transform .15s; }
.univers-secondary-details[open] .univers-summary-meta i { transform:rotate(90deg); }
.univers-secondary-body { padding:1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.source-funnel { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:.55rem; align-items:stretch; margin:0; }
.source-step { display:flex; gap:.65rem; align-items:flex-start; padding:.75rem; border:1px solid var(--bord); border-radius:8px; background:var(--surface); }
.source-step.active { border-color:var(--vert-bord); background:linear-gradient(135deg,var(--vert-doux),var(--surface) 70%); }
.source-step.optional { border-style:dashed; background:linear-gradient(135deg,var(--cuivre-doux),var(--surface) 72%); }
.source-index { display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:50%; background:var(--charbon-800); color:#fff; font:750 .65rem var(--mono); }
.source-step.active .source-index { background:var(--vert); }
.source-step.optional .source-index { background:var(--cuivre); }
.source-step strong,.source-step small { display:block; }
.source-step strong { margin:.08rem 0 .18rem; color:var(--encre); font-size:.68rem; }
.source-step small { color:var(--texte-2); font-size:.58rem; line-height:1.35; }
.source-arrow { align-self:center; color:var(--texte-3); font-size:1rem; }
.univers-source-note { margin:.75rem 0 0; padding:.65rem .7rem; border-left:3px solid var(--bleu); background:var(--bleu-doux); color:var(--texte-2); font-size:.65rem; line-height:1.45; }
.univers-history-body { padding:0; }
.univers-history-note { padding:.7rem 1rem; border-bottom:1px solid var(--bord); background:var(--bleu-doux); color:var(--texte-2); font-size:.63rem; }
.univers-history-table { max-width:100%; overflow-x:auto; }
.univers-history-table table { min-width:960px; }
.univers-history-criteria { max-width:280px; }

.pilotage-page-entete { align-items:flex-end; }
.pilotage-page-entete .grille-titre { max-width:760px; }
.pilotage-header-actions { display:flex; align-items:center; gap:.55rem; }

.terrain-mission {
  display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:1rem; align-items:center;
  margin:0 0 1rem; padding:1rem 1.15rem; border:1px solid var(--bleu-bord); border-radius:11px;
  background:linear-gradient(135deg,var(--bleu-doux),var(--surface) 72%); box-shadow:var(--ombre-1);
}
.terrain-mission-index {
  display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  background:var(--bleu); color:#fff; font:760 .85rem var(--mono); box-shadow:0 0 0 4px rgba(44,95,138,.1);
}
.terrain-mission .eyebrow { margin:0; color:var(--bleu); }
.terrain-mission h2 { margin:.12rem 0 .15rem; color:var(--encre); font-size:1.02rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.terrain-mission p { margin:0; color:var(--texte-2); font-size:.76rem; line-height:1.45; }
.terrain-mission-time { padding:.3rem .6rem; border:1px solid var(--bleu-bord); border-radius:999px; background:#fff; color:var(--bleu); font-size:.66rem; font-weight:720; white-space:nowrap; }

.terrain-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:1rem; align-items:start; margin-bottom:1rem; }
.terrain-editor-card { min-width:0; margin:0; padding:0; overflow:hidden; }
.terrain-editor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; padding:1.25rem 1.35rem 1rem; border-bottom:1px solid var(--bord); }
.terrain-editor-head h2,.terrain-next-card h2 { margin:.12rem 0 .22rem; color:var(--encre); font-size:1.08rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.terrain-editor-head p { max-width:650px; margin:0; color:var(--texte-2); font-size:.76rem; line-height:1.5; }
.terrain-completion { flex:none; width:168px; padding:.65rem .7rem; border:1px solid var(--orange-bord); border-radius:9px; background:var(--orange-doux); }
.terrain-completion strong,.terrain-completion small { display:block; }
.terrain-completion strong { color:var(--orange); font:720 .68rem var(--mono); }
.terrain-completion small { margin-top:.25rem; color:var(--texte-2); font-size:.59rem; line-height:1.3; }
.terrain-completion progress { display:block; width:100%; height:6px; margin:.45rem 0 0; border:0; border-radius:999px; overflow:hidden; background:var(--bord); }
.terrain-completion progress::-webkit-progress-bar { background:var(--bord); border-radius:999px; }
.terrain-completion progress::-webkit-progress-value { border-radius:999px; background:var(--orange); }
.terrain-completion progress::-moz-progress-bar { border-radius:999px; background:var(--orange); }
.terrain-completion.est-complete { border-color:var(--vert-bord); background:var(--vert-doux); }
.terrain-completion.est-complete strong { color:var(--vert); }
.terrain-completion.est-complete progress::-webkit-progress-value { background:var(--vert); }
.terrain-completion.est-complete progress::-moz-progress-bar { background:var(--vert); }

.terrain-fields { padding:.15rem 1.35rem .2rem; }
.terrain-field { display:grid; grid-template-columns:34px minmax(0,1fr); gap:.8rem; padding:1.05rem 0; border-bottom:1px solid var(--fond); }
.terrain-field:last-child { border-bottom:0; }
.terrain-field > div { min-width:0; }
.terrain-field-number { display:grid; place-items:center; width:30px; height:30px; margin-top:.75rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); color:var(--cuivre); font:740 .68rem var(--mono); }
.terrain-field label { margin:.05rem 0 .35rem; color:var(--encre); font-size:.79rem; }
.terrain-field label > span { color:var(--cuivre); }
.terrain-field input,.terrain-field textarea { background:#FCFCFB; }
.terrain-field textarea { min-height:94px; line-height:1.48; }
.terrain-field > div > small { display:block; margin-top:.35rem; color:var(--texte-2); font-size:.66rem; line-height:1.45; }
.terrain-field > div > small strong { color:var(--charbon-700); }
.terrain-field.est-invalide { margin-inline:-.65rem; padding-inline:.65rem; border-radius:8px; background:var(--rouge-doux); }
.terrain-field [aria-invalid="true"] { border-color:var(--rouge); box-shadow:0 0 0 3px rgba(179,54,43,.1); }

.terrain-advanced { border-top:1px solid var(--bord); background:#FBFBFA; }
.terrain-advanced > summary,.terrain-create-advanced > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.35rem; list-style:none; color:var(--texte-2); font-size:.72rem; font-weight:680; cursor:pointer; }
.terrain-advanced > summary::-webkit-details-marker,.terrain-create-advanced > summary::-webkit-details-marker { display:none; }
.terrain-advanced > summary::before,.terrain-create-advanced > summary::before { content:'＋'; width:18px; flex:none; color:var(--cuivre); }
.terrain-advanced[open] > summary::before,.terrain-create-advanced[open] > summary::before { content:'−'; }
.terrain-advanced > summary > span,.terrain-create-advanced > summary > span { margin-left:auto; padding:.08rem .4rem; border-radius:999px; background:var(--fond); color:var(--texte-3); font-size:.58rem; font-weight:720; text-transform:uppercase; letter-spacing:.05em; }
.terrain-advanced-body { padding:0 1.35rem 1.1rem 3.95rem; }
.terrain-advanced-body > p { margin:0 0 .4rem; color:var(--texte-2); font-size:.66rem; line-height:1.45; }
.terrain-advanced-body label { margin-top:.55rem; }

.terrain-editor-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.35rem; border-top:1px solid var(--bord); background:#fff; }
.terrain-save-status { display:flex; align-items:center; gap:.45rem; color:var(--texte-2); font-size:.69rem; font-weight:680; }
.terrain-save-status > span:first-child { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--fond); color:var(--texte-2); }
.terrain-save-status.est-enregistre { color:var(--vert); }
.terrain-save-status.est-enregistre > span:first-child { background:var(--vert-doux); color:var(--vert); }
.terrain-save-status.est-modifie { color:var(--orange); }
.terrain-save-status.est-modifie > span:first-child { background:var(--orange-doux); color:var(--orange); font-size:.5rem; }
.terrain-save-status.est-erreur { color:var(--rouge); }
.terrain-save-status.est-erreur > span:first-child { background:var(--rouge-doux); color:var(--rouge); }

.terrain-next-card { position:sticky; top:76px; margin:0; padding:1.2rem; border-color:var(--cuivre-bord); box-shadow:var(--ombre-2); }
.terrain-next-card > p { color:var(--texte-2); }
.terrain-scope-flow { margin:1rem 0; }
.terrain-scope-step { padding:.75rem .8rem; border:1px solid var(--bord); border-radius:8px; background:var(--fond); }
.terrain-scope-step.est-courante { border-color:var(--cuivre-bord); background:var(--cuivre-doux); }
.terrain-scope-step span,.terrain-scope-step strong,.terrain-scope-step small { display:block; }
.terrain-scope-step span { color:var(--cuivre); font-size:.59rem; font-weight:760; text-transform:uppercase; letter-spacing:.06em; }
.terrain-scope-step strong { margin:.12rem 0; color:var(--encre); font-size:.78rem; }
.terrain-scope-step small { color:var(--texte-2); font-size:.63rem; line-height:1.4; }
.terrain-scope-arrow { display:block; height:22px; color:var(--texte-3); font-size:.85rem; line-height:22px; text-align:center; }
.terrain-next-readiness { display:flex; gap:.55rem; align-items:flex-start; margin:.9rem 0 .7rem; padding:.65rem .7rem; border:1px solid var(--orange-bord); border-radius:8px; background:var(--orange-doux); }
.terrain-next-readiness > span { display:grid; place-items:center; width:22px; height:22px; flex:none; border-radius:50%; background:#fff; color:var(--orange); font-weight:800; }
.terrain-next-readiness strong,.terrain-next-readiness small { display:block; }
.terrain-next-readiness strong { color:var(--orange); font-size:.7rem; }
.terrain-next-readiness small { margin-top:.06rem; color:var(--texte-2); font-size:.61rem; line-height:1.35; }
.terrain-next-readiness.est-prete { border-color:var(--vert-bord); background:var(--vert-doux); }
.terrain-next-readiness.est-prete > span,.terrain-next-readiness.est-prete strong { color:var(--vert); }
.terrain-next-button { width:100%; min-height:42px; white-space:normal; text-align:center; }
.terrain-grid-version { display:block; margin-top:.5rem; color:var(--texte-3); font-size:.59rem; text-align:center; }

.pilotage-secondary-panel { margin:0 0 .65rem; padding:0; overflow:hidden; }
.pilotage-secondary-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; list-style:none; cursor:pointer; }
.pilotage-secondary-panel > summary::-webkit-details-marker { display:none; }
.pilotage-secondary-panel > summary:hover { background:#FBFBFA; }
.pilotage-secondary-panel > summary > span:first-child,.pilotage-secondary-panel > summary strong,.pilotage-secondary-panel > summary small { display:block; }
.pilotage-secondary-panel > summary .eyebrow { margin:0 0 .08rem; }
.pilotage-secondary-panel > summary strong { color:var(--encre); font-size:.82rem; }
.pilotage-secondary-panel > summary small { margin-top:.08rem; color:var(--texte-2); font-size:.64rem; line-height:1.4; }
.pilotage-summary-meta { display:flex; align-items:center; gap:.55rem; flex:none; color:var(--texte-2); font-size:.65rem; font-weight:650; white-space:nowrap; }
.pilotage-summary-meta i { color:var(--cuivre); font-size:1.2rem; font-style:normal; transition:transform .15s; }
.pilotage-secondary-panel[open] .pilotage-summary-meta i { transform:rotate(90deg); }
.pilotage-secondary-body { padding:1rem 1.1rem 1.1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.terrain-portfolio-list { margin-bottom:.8rem; border:1px solid var(--bord); border-radius:9px; overflow:hidden; }
.terrain-portfolio-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem; border-bottom:1px solid var(--bord); background:#fff; }
.terrain-portfolio-row:last-child { border-bottom:0; }
.terrain-portfolio-row.est-selectionne { background:linear-gradient(90deg,var(--cuivre-doux),#fff 45%); }
.terrain-portfolio-row > div:first-child { min-width:0; }
.terrain-portfolio-row .badge { margin-left:.4rem; }
.terrain-portfolio-row strong,.terrain-portfolio-row small { display:block; }
.terrain-portfolio-row strong { margin:.15rem 0 .06rem; color:var(--encre); font-size:.78rem; }
.terrain-portfolio-row small { overflow:hidden; max-width:720px; color:var(--texte-2); font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.vertical-code { font:700 .63rem var(--mono); color:var(--cuivre); text-transform:uppercase; }
.terrain-portfolio-actions { display:flex; align-items:center; gap:.5rem; flex:none; }
.terrain-portfolio-actions > span { color:var(--texte-3); font:650 .62rem var(--mono); }

.pilotage-learning { display:grid; grid-template-columns:280px minmax(0,1fr); gap:1rem; }
.pilotage-learning .section-heading { margin:0 0 .7rem; }
.pilotage-learning .section-heading h2 { color:var(--encre); font-size:.78rem; text-transform:none; letter-spacing:0; }
.pilotage-outcomes,.pilotage-proposals,.pilotage-feedback { min-width:0; padding:.9rem; border:1px solid var(--bord); border-radius:9px; background:#fff; }
.pilotage-feedback { grid-column:1/-1; }
.outcome-list > div { display:flex; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid var(--fond); text-transform:capitalize; }
.outcome-list > div:last-child { border-bottom:0; }
.outcome-list strong { font:750 .9rem var(--mono); }
.propositions-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:.65rem; }
.proposition-card { padding:.8rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.proposition-card .section-heading { margin:0 0 .55rem; }
.proposition-card h3 { margin:.2rem 0; font-size:.82rem; }
.proposition-card p { margin:.25rem 0; color:var(--texte-2); font-size:.7rem; line-height:1.5; }
.proposition-actions { display:flex; gap:.5rem; margin-top:.75rem; }
.pilotage-integrate-link { display:inline-block; margin-top:.6rem; font-size:.68rem; font-weight:700; }
.pilotage-empty { grid-column:1/-1; padding:1.2rem .8rem; border:1px dashed var(--bord-fort); border-radius:8px; }
.feedback-list > div { display:grid; grid-template-columns:180px 1fr auto; gap:1rem; padding:.58rem 0; border-bottom:1px solid var(--fond); font-size:.7rem; }
.feedback-list > div:last-child { border-bottom:0; }
.feedback-list small { color:var(--texte-3); }

.pilotage-create-modal { width:min(640px,94vw); }
.terrain-create-advanced { margin-top:1rem; border:1px solid var(--bord); border-radius:8px; background:#FBFBFA; }
.terrain-create-advanced > summary { padding:.7rem .8rem; }
.terrain-create-advanced > div { padding:0 .8rem .8rem 2.35rem; }
.terrain-create-advanced label { margin-top:.7rem; }
.terrain-create-advanced small { display:block; margin-top:.25rem; font-size:.63rem; }
.terrain-modal-status { min-height:1.25rem; margin-top:.8rem; color:var(--rouge); font-size:.69rem; }
.pilotage-create-modal [aria-invalid="true"] { border-color:var(--rouge); box-shadow:0 0 0 3px rgba(179,54,43,.1); }
.evaluation-section { margin-top:1.4rem; }
.evaluation-section .section-heading h2 { font-size:1rem; color:var(--encre); text-transform:none; letter-spacing:0; }
.verdict-ok { color:var(--vert); font-weight:750; }
.verdict-ko { color:var(--rouge); font-weight:750; }
.dashboard-metrics { margin-bottom:1.35rem; }
.dashboard-main-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,1fr); gap:1rem; margin-top:1.4rem; align-items:start; }
.dashboard-side-card h2,.journal-summary-grid .carte > h2:first-child,.journal-summary-grid + .carte > h2:first-child,.journal-summary-grid + .carte + .carte > h2:first-child { margin-top:.2rem; }
.journal-summary-grid { display:grid; grid-template-columns:minmax(230px,1fr) minmax(0,2fr); gap:1rem; align-items:stretch; }
.journal-summary-grid > .carte { min-width:0; margin-bottom:0; }
.journal-detail-cell { max-width:420px; word-break:break-word; font-size:.78rem; }
.context-lock {
  display:flex; align-items:center; gap:.65rem; margin:0 0 1rem; padding:.65rem .75rem;
  border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux);
}
.context-lock > span { display:grid; place-items:center; width:24px; height:24px; flex:none; border-radius:50%; background:#fff; color:var(--bleu); font-weight:800; }
.context-lock strong,.context-lock small { display:block; }
.context-lock strong { color:var(--bleu); font-size:.74rem; }
.context-lock small { margin-top:.08rem; color:var(--texte-2); font-size:.64rem; }

/* ------------------------------------------------------------
   Grille ICP — atelier de gouvernance de la décision
   ------------------------------------------------------------ */
.grille-page-entete { align-items:center; margin-bottom:1rem; }
.grille-page-entete > .separateur { display:none; }
.grille-titre { flex:1 1 600px; min-width:min(520px,100%); }
.grille-titre-ligne { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }
.grille-titre-ligne h1 { margin:0; font-size:1.62rem; }
.grille-selecteur-verticale {
  display:flex; align-items:center; gap:.65rem; margin:0;
  padding:.38rem .42rem .38rem .75rem; border:1px solid var(--bord);
  border-radius:9px; background:var(--surface); box-shadow:var(--ombre-1);
}
.grille-selecteur-verticale > span { color:var(--texte-2); font-size:.7rem; text-transform:uppercase; letter-spacing:.065em; }
.grille-selecteur-verticale select { width:auto; min-width:250px; padding:.42rem 2.1rem .42rem .65rem; border:0; background-color:var(--fond); font-weight:650; }
.grille-selecteur-verticale select:focus { box-shadow:0 0 0 3px rgba(180,98,45,.15); }

.grille-archive-banner {
  display:flex; align-items:center; gap:.8rem; margin:0 0 1rem; padding:.75rem .9rem;
  border:1px solid var(--bleu-bord); border-radius:var(--rayon); background:var(--bleu-doux); color:var(--bleu);
}
.grille-archive-icone { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:#fff; font-size:1.05rem; }
.grille-archive-banner > div { flex:1; }
.grille-archive-banner strong,.grille-archive-banner span { display:block; }
.grille-archive-banner > div span { font-size:.8rem; color:var(--texte-2); }

.grille-overview {
  display:grid; grid-template-columns:minmax(290px,.8fr) minmax(560px,1.6fr); gap:1px;
  margin-bottom:1.25rem; overflow:hidden; border:1px solid var(--charbon-700); border-radius:13px;
  background:var(--charbon-700); color:#fff; box-shadow:var(--ombre-2);
}
.grille-overview-intro {
  display:flex; flex-direction:column; justify-content:center; min-height:250px; padding:1.4rem 1.5rem;
  background:
    radial-gradient(420px 210px at 0 100%,rgba(201,114,47,.20),transparent 70%),
    linear-gradient(145deg,var(--charbon-800),var(--charbon-900));
}
.grille-overview-kicker { color:#E8B58C; font-size:.67rem; font-weight:760; text-transform:uppercase; letter-spacing:.1em; }
.grille-overview-intro h2 { margin:.35rem 0 .5rem; color:#fff; font-size:1.35rem; text-transform:none; letter-spacing:-.02em; }
.grille-overview-intro > p { margin:0; color:#BEC5CE; font-size:.85rem; line-height:1.55; }
.grille-terrain-context { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.85rem; padding:.55rem .65rem; border:1px solid rgba(255,255,255,.11); border-radius:7px; background:rgba(255,255,255,.045); }
.grille-terrain-context > span { color:#AEB7C2; font-size:.67rem; line-height:1.35; }
.grille-terrain-context a { flex:none; color:#F0C5A2; font-size:.67rem; font-weight:700; text-decoration:none; }
.grille-terrain-context a:hover { color:#fff; text-decoration:none; }
.grille-overview-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:1.25rem; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.1); border-radius:9px; overflow:hidden; }
.grille-overview-stats > div { padding:.65rem .7rem; background:rgba(255,255,255,.035); }
.grille-overview-stats strong,.grille-overview-stats span { display:block; }
.grille-overview-stats strong { font:750 1.02rem var(--mono); color:#fff; }
.grille-overview-stats span { margin-top:.08rem; color:#969FAA; font-size:.59rem; line-height:1.25; text-transform:uppercase; letter-spacing:.045em; }

.grille-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--charbon-700); }
.grille-flow-card {
  display:grid; grid-template-columns:40px 1fr auto; gap:.8rem; align-items:center;
  min-height:124px; padding:1rem 1.05rem; color:#fff; background:var(--charbon-800);
  transition:background .15s,transform .12s; text-decoration:none;
}
.grille-flow-card:hover { background:var(--charbon-700); text-decoration:none; }
.grille-flow-card:active { transform:scale(.995); }
.grille-flow-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.075); color:#AEB7C2; }
.grille-flow-icon svg { width:21px; height:21px; }
.grille-flow-score .grille-flow-icon { color:#E8B58C; background:rgba(201,114,47,.16); }
.grille-flow-eliminatoire .grille-flow-icon { color:#F0AAA4; background:rgba(179,54,43,.16); }
.grille-flow-rdv .grille-flow-icon { color:#EAC989; background:rgba(178,106,11,.16); }
.grille-flow-copy,.grille-flow-copy > * { display:block; min-width:0; }
.grille-flow-copy small { color:#808A96; font-size:.61rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; }
.grille-flow-copy strong { margin:.18rem 0; color:#fff; font-size:.87rem; }
.grille-flow-copy span { color:#AEB6C0; font-size:.71rem; }
.grille-flow-copy b { color:#fff; font:750 .76rem var(--mono); }
.grille-flow-arrow { align-self:end; color:#65707C; font-size:.85rem; }

.grille-workspace { display:grid; grid-template-columns:minmax(0,1fr) 318px; gap:1rem; align-items:start; }
.grille-editor { min-width:0; }
.grille-toolbar {
  position:sticky; top:68px; z-index:30; display:flex; align-items:center; gap:.7rem;
  margin:0 0 .8rem; padding:.62rem .7rem; border:1px solid var(--bord); border-radius:10px;
  background:rgba(255,255,255,.94); box-shadow:var(--ombre-2); backdrop-filter:blur(8px);
}
.grille-search { position:relative; flex:1; margin:0; }
.grille-search svg { position:absolute; top:50%; left:.7rem; width:16px; height:16px; color:var(--texte-3); transform:translateY(-50%); pointer-events:none; }
.grille-search input {
  width:100%; padding:.52rem .7rem .52rem 2.05rem; border:1px solid transparent; border-radius:var(--rayon-s);
  background:var(--fond); color:var(--texte); font:inherit; font-size:.86rem;
}
.grille-search input:focus { outline:none; border-color:var(--cuivre); box-shadow:0 0 0 3px rgba(180,98,45,.16); }
.grille-resultats { color:var(--texte-2); font-size:.74rem; white-space:nowrap; }

.grille-criteria-section {
  --grille-accent:var(--bleu); --grille-soft:var(--bleu-doux); --grille-border:var(--bleu-bord);
  margin:0 0 1rem; scroll-margin-top:140px;
}
.grille-section-score { --grille-accent:var(--cuivre); --grille-soft:var(--cuivre-doux); --grille-border:var(--cuivre-bord); }
.grille-section-eliminatoire { --grille-accent:var(--rouge); --grille-soft:var(--rouge-doux); --grille-border:var(--rouge-bord); }
.grille-section-rdv { --grille-accent:var(--orange); --grille-soft:var(--orange-doux); --grille-border:var(--orange-bord); }
.grille-section-header {
  display:grid; grid-template-columns:42px 1fr auto; gap:.85rem; align-items:center;
  padding:1rem 1.05rem; border:1px solid var(--bord); border-bottom:0; border-radius:11px 11px 0 0;
  background:linear-gradient(135deg,var(--grille-soft),#fff 62%);
}
.grille-section-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--grille-border); border-radius:11px; background:#fff; color:var(--grille-accent); }
.grille-section-icon svg { width:22px; height:22px; }
.grille-section-header .eyebrow { color:var(--grille-accent); margin:0; }
.grille-section-header h2 { margin:.12rem 0 0; color:var(--encre); font-size:1rem; text-transform:none; letter-spacing:-.01em; }
.grille-section-header p { margin:.15rem 0 0; color:var(--texte-2); font-size:.77rem; }
.grille-section-count { padding:.25rem .52rem; border:1px solid var(--grille-border); border-radius:999px; background:#fff; color:var(--grille-accent); font-size:.67rem; font-weight:650; white-space:nowrap; }
.grille-section-count b { font:750 .72rem var(--mono); }
.grille-criterion-list { border:1px solid var(--bord); border-radius:0 0 11px 11px; overflow:hidden; background:var(--surface); box-shadow:var(--ombre-1); }

.grille-criterion { position:relative; background:var(--surface); border-bottom:1px solid var(--bord); transition:background .12s,opacity .12s; }
.grille-criterion::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--grille-accent); opacity:.8; }
.grille-criterion:last-child { border-bottom:0; }
.grille-criterion:hover { background:#FDFCFA; }
.grille-criterion.est-inactif { background:#F8F9FA; }
.grille-criterion.est-inactif::before { background:var(--bord-fort); }
.grille-criterion.est-inactif .grille-criterion-summary { opacity:.58; }
.grille-criterion-head { display:grid; grid-template-columns:105px minmax(260px,1fr) auto; gap:1rem; align-items:center; padding:.82rem 1rem .82rem 1.1rem; }

.grille-switch { position:relative; display:flex; align-items:center; gap:.5rem; margin:0; cursor:pointer; }
.grille-switch input { position:absolute; width:1px; height:1px; opacity:0; }
.grille-switch-track { position:relative; width:36px; height:20px; flex:none; border:1px solid var(--bord-fort); border-radius:999px; background:#D8DCE1; transition:background .15s,border-color .15s; }
.grille-switch-track i { position:absolute; top:2px; left:2px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(22,25,30,.28); transition:transform .15s; }
.grille-switch input:checked + .grille-switch-track { background:var(--vert); border-color:var(--vert); }
.grille-switch input:checked + .grille-switch-track i { transform:translateX(16px); }
.grille-switch input:focus-visible + .grille-switch-track { outline:3px solid rgba(201,114,47,.38); outline-offset:2px; }
.grille-switch input:disabled + .grille-switch-track { opacity:.65; cursor:not-allowed; }
.grille-switch-copy b { display:block; color:var(--encre); font-size:.71rem; }
.grille-switch-copy small { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.grille-criterion-summary { min-width:0; }
.grille-criterion-badges { display:flex; align-items:center; gap:.35rem; margin-bottom:.28rem; }
.grille-criterion-badges code { padding:.05rem .32rem; color:var(--texte-3); background:transparent; border-color:transparent; font-size:.65rem; }
.grille-engine-badge { display:inline-flex; padding:.12rem .4rem; border-radius:999px; font-size:.61rem; font-weight:720; text-transform:uppercase; letter-spacing:.045em; }
.engine-ia { color:var(--cuivre); background:var(--cuivre-doux); }
.engine-auto { color:var(--bleu); background:var(--bleu-doux); }
.engine-rdv { color:var(--orange); background:var(--orange-doux); }
.grille-criterion-title { display:block; color:var(--encre); font-size:.9rem; line-height:1.3; }
.grille-criterion-summary p { margin:.18rem 0 0; overflow:hidden; color:var(--texte-2); font-size:.73rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }

.grille-weight { min-width:128px; text-align:center; }
.grille-weight > span { display:block; margin-bottom:.25rem; color:var(--texte-2); font-size:.61rem; font-weight:700; text-transform:uppercase; letter-spacing:.055em; }
.grille-weight-stepper { display:grid; grid-template-columns:28px 42px 28px; justify-content:center; }
.grille-weight-stepper input { position:relative; z-index:1; height:30px; padding:.15rem; border-radius:0; text-align:center; font:750 .82rem var(--mono); appearance:textfield; }
.grille-weight-stepper input::-webkit-inner-spin-button { display:none; }
.btn-poids { height:30px; padding:0; border:1px solid var(--bord-fort); background:var(--fond); color:var(--texte-2); font:650 1rem var(--police); cursor:pointer; }
.btn-poids:hover { color:var(--cuivre); background:var(--cuivre-doux); }
.btn-poids:disabled { opacity:.45; cursor:not-allowed; }
.btn-poids-moins { border-right:0; border-radius:6px 0 0 6px; }
.btn-poids-plus { border-left:0; border-radius:0 6px 6px 0; }
.grille-weight-share { display:block; margin-top:.22rem; color:var(--texte-2); font-size:.62rem; }
.grille-weight-share b { color:var(--cuivre); font:720 .64rem var(--mono); }

.grille-criterion-details { border-top:1px solid var(--fond); }
.grille-criterion-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.48rem 1rem .5rem 1.1rem; list-style:none; cursor:pointer; color:var(--texte-2); background:#FCFCFB; }
.grille-criterion-details > summary::-webkit-details-marker,.grille-advanced > summary::-webkit-details-marker,.grille-system-card > summary::-webkit-details-marker { display:none; }
.grille-criterion-details > summary > span:first-child { display:flex; align-items:baseline; min-width:0; gap:.65rem; }
.grille-criterion-details > summary b { flex:none; color:var(--texte-2); font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; }
.grille-criterion-details > summary small { overflow:hidden; color:var(--texte-3); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.grille-details-action { flex:none; color:var(--cuivre); font-size:.68rem; font-weight:700; }
.grille-details-action i { display:inline-block; margin-left:.25rem; font-style:normal; font-size:1rem; transition:transform .15s; }
.grille-criterion-details[open] .grille-details-action i { transform:rotate(90deg); }
.grille-criterion-details[open] > summary { border-bottom:1px solid var(--bord); background:var(--cuivre-doux); }
.grille-criterion-fields { padding:1rem 1.1rem 1.1rem; background:#FBFBFA; }
.grille-field-grid { display:grid; grid-template-columns:.9fr 1.2fr; gap:1rem; }
.grille-field-grid label,.grille-signals-field label { margin-top:0; }
.grille-field-grid textarea { min-height:68px; }
.grille-signals-field { margin-top:.9rem; }
.grille-field-label { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.grille-field-label span { color:var(--bleu); font-size:.67rem; }
.grille-signals-field textarea { min-height:126px; line-height:1.5; }
.grille-field-help { margin:.35rem 0 0; color:var(--texte-2); font-size:.69rem; }
.grille-subsection-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin:0 0 .65rem; padding-bottom:.5rem; border-bottom:1px solid var(--bord); }
.grille-subsection-heading span { color:var(--encre); font-size:.7rem; font-weight:760; text-transform:uppercase; letter-spacing:.055em; }
.grille-subsection-heading small { color:var(--texte-3); font-size:.67rem; }
.grille-auto-config { margin-top:1rem; overflow:hidden; border:1px solid var(--bleu-bord); border-radius:9px; background:#fff; }
.grille-auto-heading { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:.7rem; align-items:center; padding:.75rem .85rem; border-bottom:1px solid var(--bleu-bord); background:linear-gradient(135deg,var(--bleu-doux),#fff); }
.grille-auto-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#fff; color:var(--bleu); box-shadow:0 1px 3px rgba(33,68,98,.12); }
.grille-auto-heading > div > span,.grille-auto-heading strong,.grille-auto-heading p { display:block; }
.grille-auto-heading > div > span { color:var(--bleu); font-size:.6rem; font-weight:760; text-transform:uppercase; letter-spacing:.065em; }
.grille-auto-heading strong { margin:.08rem 0; color:var(--encre); font-size:.82rem; }
.grille-auto-heading p { margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.35; }
.grille-auto-lock { padding:.18rem .45rem; border:1px solid var(--bleu-bord); border-radius:999px; background:#fff; color:var(--bleu); font-size:.59rem; font-weight:700; white-space:nowrap; }
.grille-auto-fields { padding:.85rem; }
.grille-auto-fields > label,.grille-auto-fields > div > label { margin-top:0; }
.grille-auto-range { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.75rem; align-items:end; }
.grille-auto-range .input-suffix input { width:100%; min-width:0; }
.grille-auto-separator { align-self:center; margin-top:1rem; color:var(--texte-3); font-size:.72rem; }
.grille-auto-help { margin:.1rem .85rem .85rem; color:var(--texte-2); font-size:.68rem; line-height:1.45; }
.grille-auto-help code { font-size:.64rem; }
.grille-auto-warning { display:flex; gap:.55rem; margin:0 .85rem .85rem; padding:.62rem .7rem; border:1px solid var(--orange-bord); border-radius:7px; background:var(--orange-doux); }
.grille-auto-warning > span { display:grid; place-items:center; width:20px; height:20px; flex:none; border-radius:50%; background:#fff; color:var(--orange); font-size:.67rem; font-weight:800; }
.grille-auto-warning > div { flex:1; min-width:0; }
.grille-auto-warning p { margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.45; }
.grille-auto-warning strong { color:var(--orange); }
.grille-auto-suggestion { margin-top:.45rem; padding:0; border:0; background:transparent; color:var(--orange); font:700 .66rem var(--police); cursor:pointer; }
.grille-auto-suggestion:hover { color:var(--encre); text-decoration:underline; }
.grille-system-rule { display:flex; gap:.75rem; margin-top:.9rem; padding:.75rem .85rem; border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux); }
.grille-system-rule > span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:#fff; color:var(--bleu); }
.grille-system-rule strong { color:var(--bleu); font-size:.78rem; }
.grille-system-rule p { margin:.2rem 0 0; color:var(--texte-2); font-size:.72rem; }
.grille-system-rule.rule-rdv { border-color:var(--orange-bord); background:var(--orange-doux); }
.grille-system-rule.rule-rdv > span,.grille-system-rule.rule-rdv strong { color:var(--orange); }
.grille-advanced { margin-top:.75rem; border-top:1px solid var(--bord); }
.grille-advanced > summary { padding:.55rem 0 0; color:var(--texte-2); font-size:.68rem; font-weight:650; cursor:pointer; }
.grille-advanced > summary::before { content:"＋"; display:inline-block; width:1.15rem; color:var(--cuivre); }
.grille-advanced[open] > summary::before { content:"−"; }
.grille-advanced > div { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:.5rem; align-items:center; margin-top:.5rem; color:var(--texte-2); font-size:.68rem; }
.grille-empty-search { display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:3rem 1rem; border:1px dashed var(--bord-fort); border-radius:var(--rayon); background:var(--surface); color:var(--texte-2); }
.grille-empty-search > span { font-size:1.7rem; color:var(--texte-3); }

.grille-sidebar { min-width:0; }
.grille-sidebar-sticky { position:sticky; top:68px; display:flex; flex-direction:column; gap:.8rem; }
.grille-side-card { margin:0; padding:1rem; border:1px solid var(--bord); border-radius:11px; background:var(--surface); box-shadow:var(--ombre-1); }
.grille-side-heading { display:flex; align-items:center; gap:.7rem; }
.grille-side-heading .eyebrow { margin:0; }
.grille-side-heading h2 { margin:.1rem 0 0; color:var(--encre); font-size:.9rem; text-transform:none; letter-spacing:0; }
.grille-side-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:9px; font-size:.9rem; font-weight:750; }
.side-icon-publish { color:var(--cuivre); background:var(--cuivre-doux); }
.side-icon-deploy { color:var(--vert); background:var(--vert-doux); }
.side-icon-history { color:var(--bleu); background:var(--bleu-doux); }
.grille-version-track { display:grid; grid-template-columns:1fr auto 1fr; gap:.6rem; align-items:center; margin:.85rem 0; padding:.65rem; border-radius:8px; background:var(--fond); }
.grille-version-track div { text-align:center; }
.grille-version-track span,.grille-version-track strong { display:block; }
.grille-version-track span { color:var(--texte-2); font-size:.59rem; text-transform:uppercase; letter-spacing:.05em; }
.grille-version-track strong { color:var(--encre); font:750 .96rem var(--mono); }
.grille-version-track i { color:var(--texte-3); font-style:normal; }
.grille-draft-state { display:flex; gap:.6rem; align-items:flex-start; padding:.66rem .7rem; border:1px solid var(--bord); border-radius:8px; background:#FBFBFA; }
.grille-draft-dot { width:8px; height:8px; flex:none; margin-top:.32rem; border-radius:50%; background:var(--vert); box-shadow:0 0 0 3px var(--vert-doux); }
.grille-draft-state.est-modifie { border-color:var(--cuivre-bord); background:var(--cuivre-doux); }
.grille-draft-state.est-modifie .grille-draft-dot,.grille-dirty-bar .grille-draft-dot { background:var(--cuivre-vif); box-shadow:0 0 0 3px rgba(201,114,47,.22); }
.grille-draft-state strong,.grille-draft-state small { display:block; }
.grille-draft-state strong { color:var(--encre); font-size:.76rem; }
.grille-draft-state small { margin-top:.1rem; color:var(--texte-2); font-size:.66rem; }
.grille-diff-chips { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.55rem; }
.grille-diff-chips span { padding:.13rem .42rem; border:1px solid var(--cuivre-bord); border-radius:999px; background:#fff; color:var(--cuivre); font-size:.62rem; font-weight:650; }
.grille-publish-actions .btn-large,.grille-deploy-card .btn-large { margin-top:.75rem; }
.grille-publish-actions .btn-petit { width:100%; margin-top:.45rem; }
.grille-coverage-head { display:flex; justify-content:space-between; align-items:baseline; margin-top:.9rem; }
.grille-coverage-head strong { color:var(--encre); font:750 .95rem var(--mono); }
.grille-coverage-head span { color:var(--vert); font-size:.68rem; font-weight:700; }
.grille-coverage-track { height:7px; margin:.35rem 0 .6rem; overflow:hidden; border-radius:9px; background:var(--bord); }
.grille-coverage-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--vert),#35A763); }
.grille-deploy-note,.grille-job-note { margin:.45rem 0; color:var(--texte-2); font-size:.69rem; line-height:1.4; }
.grille-job-note { display:flex; align-items:center; gap:.45rem; color:var(--cuivre); }
.grille-job-note .jobs-spinner { border-color:var(--cuivre-bord); border-top-color:var(--cuivre); }
.grille-deploy-help { display:block; margin-top:.45rem; color:var(--texte-2); font-size:.63rem; line-height:1.4; text-align:center; }
.grille-system-card { padding:0; }
.grille-system-card > summary { display:flex; justify-content:space-between; align-items:center; padding:.75rem .9rem; color:var(--texte-2); font-size:.72rem; font-weight:680; list-style:none; cursor:pointer; }
.grille-system-card > summary i { font-style:normal; font-size:1rem; transition:transform .15s; }
.grille-system-card[open] > summary i { transform:rotate(90deg); }
.grille-system-card > div { padding:0 .9rem .8rem; border-top:1px solid var(--fond); }
.grille-system-card p { display:flex; justify-content:space-between; gap:.6rem; margin:0; padding:.42rem 0; border-bottom:1px solid var(--fond); font-size:.68rem; }
.grille-system-card p strong { color:var(--encre); }
.grille-system-card > div > small { display:block; margin-top:.5rem; color:var(--texte-2); font-size:.61rem; line-height:1.35; }
.grille-history-card { padding-bottom:.55rem; }
.grille-history-list { margin:.8rem 0 0; padding:0; list-style:none; }
.grille-history-list li { position:relative; border-top:1px solid var(--fond); }
.grille-history-list a { display:grid; grid-template-columns:12px 1fr auto; gap:.55rem; align-items:start; margin:0 -.45rem; padding:.62rem .45rem; color:inherit; border-radius:7px; }
.grille-history-list a:hover { background:var(--fond); text-decoration:none; }
.grille-history-list li.est-vue a { background:var(--cuivre-doux); }
.grille-history-marker { width:8px; height:8px; margin-top:.3rem; border:2px solid var(--bord-fort); border-radius:50%; background:#fff; }
.grille-history-list li.est-vue .grille-history-marker { border-color:var(--cuivre); background:var(--cuivre); box-shadow:0 0 0 3px var(--cuivre-doux); }
.grille-history-copy,.grille-history-copy > * { display:block; min-width:0; }
.grille-history-copy > span:first-child { display:flex; align-items:center; gap:.4rem; }
.grille-history-copy strong { color:var(--encre); font-size:.73rem; }
.grille-history-copy em { padding:.08rem .3rem; border-radius:999px; background:var(--vert-doux); color:var(--vert); font-size:.56rem; font-style:normal; font-weight:700; text-transform:uppercase; }
.grille-history-copy small,.grille-history-copy time { color:var(--texte-2); font-size:.61rem; }
.grille-history-note { margin:.18rem 0; color:var(--texte); font-size:.65rem; line-height:1.35; }
.grille-history-copy time { margin-top:.1rem; }

.grille-dirty-bar {
  position:fixed; z-index:80; left:50%; bottom:1.2rem; display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
  width:min(680px,calc(100vw - 2rem)); padding:.65rem .7rem .65rem .9rem; border:1px solid var(--charbon-600); border-radius:11px;
  background:rgba(31,36,43,.96); color:#fff; box-shadow:var(--ombre-3); backdrop-filter:blur(10px); transform:translateX(-50%);
}
.grille-dirty-bar > div { display:flex; align-items:center; gap:.55rem; }
.grille-dirty-bar strong { font-size:.77rem; }
.grille-dirty-bar .btn-secondaire { color:#E0E4E8; border-color:var(--charbon-600); background:var(--charbon-700); }
body.modale-ouverte { overflow:hidden; }
.modale-grille { position:relative; width:min(650px,94vw); max-height:90vh; overflow-y:auto; padding:1.5rem; }
.modale-grille h2 { margin:.1rem 0 .35rem; font-size:1.18rem; }
.modale-intro { margin:.2rem 0 1rem; color:var(--texte-2); font-size:.8rem; }
.modale-fermer { position:absolute; top:.8rem; right:.8rem; display:grid; place-items:center; width:30px; height:30px; border:0; border-radius:50%; background:var(--fond); color:var(--texte-2); font:400 1.2rem var(--police); cursor:pointer; }
.modale-fermer:hover { color:var(--encre); background:var(--bord); }
.publication-recap { display:grid; grid-template-columns:auto 1fr; gap:1rem; margin-bottom:.85rem; padding:.75rem .85rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); }
.publication-recap > strong { color:var(--cuivre); font-size:.78rem; }
.publication-recap ul { display:flex; flex-wrap:wrap; gap:.3rem; margin:0; padding:0; list-style:none; }
.publication-recap li { padding:.1rem .38rem; border-radius:999px; background:#fff; color:var(--texte-2); font-size:.62rem; }
.publication-update-toggle { display:flex; gap:.7rem; align-items:flex-start; margin:1rem 0 .75rem; padding:.75rem .85rem; border:1px solid var(--vert-bord); border-radius:8px; background:var(--vert-doux); cursor:pointer; }
.publication-update-toggle input { width:auto; margin:.2rem 0 0; accent-color:var(--vert); }
.publication-update-toggle strong,.publication-update-toggle small { display:block; }
.publication-update-toggle strong { color:var(--vert); font-size:.78rem; }
.publication-update-toggle small { margin-top:.1rem; color:var(--texte-2); font-size:.66rem; }
.grille-mode-picker { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin:0; padding:0; border:0; }
.grille-mode-picker legend { grid-column:1/-1; margin-bottom:.35rem; color:var(--charbon-700); font-size:.71rem; font-weight:680; }
.grille-mode-card { position:relative; display:grid; grid-template-columns:18px 1fr; gap:.6rem; align-items:start; margin:0; padding:.75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; cursor:pointer; }
.grille-mode-card:hover { border-color:var(--bord-fort); }
.grille-mode-card input { position:absolute; width:1px; height:1px; opacity:0; }
.grille-mode-radio { display:grid; place-items:center; width:17px; height:17px; margin-top:.1rem; border:1.5px solid var(--bord-fort); border-radius:50%; }
.grille-mode-card input:checked + .grille-mode-radio { border-color:var(--cuivre); box-shadow:inset 0 0 0 4px #fff; background:var(--cuivre); }
.grille-mode-card:has(input:checked) { border-color:var(--cuivre-bord); background:var(--cuivre-doux); }
.grille-mode-card:has(input:focus-visible) { outline:3px solid rgba(201,114,47,.38); outline-offset:2px; }
.grille-mode-card strong,.grille-mode-card small { display:block; }
.grille-mode-card strong { color:var(--encre); font-size:.75rem; }
.grille-mode-card small { margin-top:.18rem; color:var(--texte-2); font-size:.64rem; line-height:1.35; }
.grille-mode-picker:disabled { opacity:.45; }
.grille-mode-conseil { grid-column:1/-1; margin:.05rem 0 0; padding:.45rem .55rem; border-radius:6px; color:var(--texte-2); background:var(--fond); font-size:.65rem; }
.grille-mode-conseil.est-recommande { color:var(--bleu); background:var(--bleu-doux); }
.publication-warning { display:flex; gap:.55rem; margin-top:.8rem; padding:.6rem .7rem; border-radius:7px; background:var(--fond); }
.publication-warning > span { display:grid; place-items:center; width:18px; height:18px; flex:none; border-radius:50%; background:var(--charbon-700); color:#fff; font:700 .65rem serif; }
.publication-warning p { margin:0; color:var(--texte-2); font-size:.66rem; }

/* Parcours terrain partagé : le contexte reste visible de la grille aux décisions. */
.terrain-journey {
  display:grid; grid-template-columns:190px minmax(0,1fr); gap:1rem; align-items:center;
  margin:0 0 1.25rem; padding:.75rem .9rem; border:1px solid var(--bord); border-radius:11px;
  background:var(--surface); box-shadow:var(--ombre-1);
}
.terrain-journey-heading span,.terrain-journey-heading strong { display:block; }
.terrain-journey-heading .eyebrow { margin:0 0 .12rem; }
.terrain-journey-heading strong { color:var(--encre); font-size:.78rem; line-height:1.3; }
.terrain-journey ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.terrain-journey li { position:relative; min-width:0; }
.terrain-journey li:not(:last-child)::after { content:""; position:absolute; z-index:0; top:16px; left:calc(50% + 18px); width:calc(100% - 36px); height:1px; background:var(--bord-fort); }
.terrain-journey a,.terrain-journey-link { position:relative; z-index:1; display:grid; grid-template-columns:32px minmax(0,1fr); gap:.45rem; align-items:center; padding:.36rem .42rem; border-radius:8px; color:inherit; }
.terrain-journey a:hover { background:var(--fond); text-decoration:none; }
.terrain-journey-index { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--bord-fort); border-radius:50%; background:var(--surface); color:var(--texte-2); font:720 .69rem var(--mono); }
.terrain-journey a > span:last-child,.terrain-journey-link > span:last-child,.terrain-journey a strong,.terrain-journey-link strong,.terrain-journey a small,.terrain-journey-link small { display:block; min-width:0; }
.terrain-journey a strong,.terrain-journey-link strong { color:var(--encre); font-size:.68rem; }
.terrain-journey a small,.terrain-journey-link small { overflow:hidden; margin-top:.06rem; color:var(--texte-3); font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
.terrain-journey .est-faite .terrain-journey-index { border-color:var(--vert-bord); background:var(--vert-doux); color:var(--vert); }
.terrain-journey .est-encours .terrain-journey-index { border-color:var(--bleu-bord); background:var(--bleu-doux); color:var(--bleu); }
.terrain-journey .est-attention .terrain-journey-index { border-color:var(--orange-bord); background:var(--orange-doux); color:var(--orange); }
.terrain-journey .est-courante a { background:var(--cuivre-doux); }
.terrain-journey .est-courante .terrain-journey-index { border-color:var(--cuivre); background:var(--cuivre); color:#fff; box-shadow:0 0 0 3px var(--cuivre-doux); }
.terrain-journey .est-attente a strong { color:var(--texte-2); }
.terrain-journey .est-verrouillee { opacity:.72; }
.terrain-journey .est-verrouillee .terrain-journey-index { border-style:dashed; background:var(--fond); font-size:.62rem; filter:grayscale(1); }
.terrain-page-selector {
  display:flex; align-items:center; gap:.65rem; margin:0; padding:.38rem .42rem .38rem .75rem;
  border:1px solid var(--bord); border-radius:9px; background:var(--surface); box-shadow:var(--ombre-1);
}
.terrain-page-selector > span { color:var(--texte-2); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.terrain-page-selector select { width:auto; min-width:220px; padding:.42rem 2.1rem .42rem .65rem; border:0; background-color:var(--fond); font-weight:650; }
.terrain-page-selector select:focus { box-shadow:0 0 0 3px rgba(180,98,45,.15); }
.journey-context-banner,.grille-published-banner { display:flex; gap:.75rem; align-items:center; margin:0 0 1rem; padding:.8rem .9rem; border:1px solid var(--vert-bord); border-radius:9px; background:var(--vert-doux); }
.journey-context-banner > span,.grille-published-banner > span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:#fff; color:var(--vert); font-weight:800; }
.journey-context-banner > div,.grille-published-banner > div { flex:1; min-width:0; }
.journey-context-banner strong,.journey-context-banner p,.grille-published-banner strong,.grille-published-banner p { display:block; margin:0; }
.journey-context-banner strong,.grille-published-banner strong { color:var(--vert); font-size:.78rem; }
.journey-context-banner p,.grille-published-banner p { margin-top:.1rem; color:var(--texte-2); font-size:.69rem; line-height:1.4; }
.grille-next-card { order:-1; overflow:hidden; border-color:var(--cuivre-bord); }
.grille-sidebar-sticky:has(.grille-draft-state.est-modifie) .grille-publish-card { order:-2; }
.grille-next-visual { display:flex; gap:.65rem; align-items:center; margin:.8rem 0; padding:.75rem; border-radius:8px; background:var(--cuivre-doux); }
.grille-next-visual > span { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:50%; background:#fff; color:var(--cuivre); font-weight:800; }
.grille-next-visual strong,.grille-next-visual small { display:block; }
.grille-next-visual strong { color:var(--encre); font-size:.78rem; }
.grille-next-visual small { margin-top:.1rem; color:var(--texte-2); font-size:.65rem; line-height:1.35; }
.grille-next-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:.7rem 0; border-block:1px solid var(--fond); }
.grille-next-metrics > div { padding:.48rem .25rem; text-align:center; }
.grille-next-metrics > div + div { border-left:1px solid var(--fond); }
.grille-next-metrics strong,.grille-next-metrics span { display:block; }
.grille-next-metrics strong { color:var(--encre); font:740 .82rem var(--mono); }
.grille-next-metrics span { margin-top:.08rem; color:var(--texte-3); font-size:.57rem; }
.grille-next-actions { display:flex; flex-direction:column; gap:.4rem; }
.grille-next-actions .btn { width:100%; }
.grille-next-context { margin:.55rem 0 0; color:var(--texte-2); font-size:.63rem; line-height:1.4; }
/* ------------------------------------------------------------
   Pipeline — étape guidée : préparer → suivre → ouvrir les dossiers
   ------------------------------------------------------------ */
.pipeline-page-entete .grille-titre { max-width:790px; }
.pipeline-arrival-banner { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:0 0 1rem; padding:.8rem .9rem; border:1px solid var(--bleu-bord); border-radius:9px; background:var(--bleu-doux); }
.pipeline-arrival-banner > div { flex:1; min-width:0; }
.pipeline-arrival-banner strong,.pipeline-arrival-banner span { display:block; }
.pipeline-arrival-banner strong { color:var(--bleu); font-size:.78rem; }
.pipeline-arrival-banner > div span { margin-top:.1rem; color:var(--texte-2); font-size:.68rem; }
.pipeline-arrival-icon { display:grid !important; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:#fff; color:var(--bleu); font-weight:800; }

.pipeline-mission {
  display:grid; grid-template-columns:44px minmax(0,1fr) minmax(260px,auto); gap:1rem; align-items:center;
  margin:0 0 1rem; padding:1rem 1.15rem; border:1px solid var(--bleu-bord); border-radius:11px;
  background:linear-gradient(135deg,var(--bleu-doux),var(--surface) 74%); box-shadow:var(--ombre-1);
}
.pipeline-mission-index { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--bleu); color:#fff; font:760 .82rem var(--mono); box-shadow:0 0 0 4px rgba(44,95,138,.1); }
.pipeline-mission .eyebrow { margin:0; color:var(--bleu); }
.pipeline-mission h2 { margin:.1rem 0 .15rem; color:var(--encre); font-size:1.02rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.pipeline-mission p { margin:0; color:var(--texte-2); font-size:.76rem; line-height:1.48; }
.pipeline-mission-output { padding:.65rem .8rem; border:1px solid var(--bleu-bord); border-radius:9px; background:#fff; }
.pipeline-mission-output span,.pipeline-mission-output strong,.pipeline-mission-output small { display:block; }
.pipeline-mission-output span { color:var(--bleu); font-size:.6rem; font-weight:760; text-transform:uppercase; letter-spacing:.07em; }
.pipeline-mission-output strong { margin:.15rem 0; color:var(--encre); font-size:.76rem; }
.pipeline-mission-output small { color:var(--texte-2); font-size:.62rem; line-height:1.35; }

.pipeline-command-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1rem; align-items:start; margin-bottom:1rem; }
.pipeline-command-card { min-width:0; padding:0; overflow:hidden; border-color:var(--charbon-600); color:#fff; background:linear-gradient(145deg,var(--charbon-800),var(--charbon-700)); box-shadow:var(--ombre-2); }
.pipeline-command-card.est-erreur { border-color:#9E4239; }
.pipeline-command-card.est-pause,
.pipeline-command-card.est-actualiser { border-color:#B87924; }
.pipeline-command-card.est-decision { border-color:#4F8062; }
.pipeline-command-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem 1rem; }
.pipeline-command-heading > div { min-width:0; }
.pipeline-command-heading .eyebrow { color:#E8B58C; }
.pipeline-command-card.est-erreur .pipeline-command-heading .eyebrow { color:#F4B0AA; }
.pipeline-command-card.est-pause .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-actualiser .pipeline-command-heading .eyebrow { color:#F2C483; }
.pipeline-command-card.est-decision .pipeline-command-heading .eyebrow { color:#9DD3AF; }
.pipeline-command-heading h2 { margin:.1rem 0 .25rem; color:#fff; font-size:1.2rem; line-height:1.3; letter-spacing:-.018em; text-transform:none; }
.pipeline-command-heading p { max-width:720px; margin:0; color:#C6CCD4; font-size:.76rem; line-height:1.5; }
.pipeline-live-state { display:inline-flex; align-items:center; gap:.45rem; flex:none; min-height:29px; padding:.28rem .58rem; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(255,255,255,.07); color:#DCE1E6; font-size:.62rem; font-weight:720; white-space:nowrap; }
.pipeline-live-state .analyse-spinner { width:12px; height:12px; border-color:rgba(255,255,255,.25); border-top-color:#E8B58C; }
.pipeline-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0 1.25rem; list-style:none; }
.pipeline-process li { position:relative; display:grid; grid-template-columns:29px minmax(0,1fr); gap:.55rem; align-items:center; min-height:76px; padding:.65rem .7rem; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.035); }
.pipeline-process li:first-child { border-radius:9px 0 0 9px; }
.pipeline-process li:last-child { border-radius:0 9px 9px 0; }
.pipeline-process li + li { border-left:0; }
.pipeline-process li > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(232,181,140,.5); border-radius:50%; color:#E8B58C; font:720 .65rem var(--mono); }
.pipeline-process strong,.pipeline-process small { display:block; }
.pipeline-process strong { color:#F4F5F6; font-size:.69rem; }
.pipeline-process small { margin-top:.08rem; color:#9EA7B2; font-size:.58rem; line-height:1.35; }
.pipeline-command-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem 1.15rem; }
.pipeline-background-note { display:flex; align-items:flex-start; gap:.55rem; max-width:520px; }
.pipeline-background-note > span { display:grid; place-items:center; width:24px; height:24px; flex:none; border-radius:50%; background:rgba(44,95,138,.32); color:#A9CCE7; font-size:.75rem; }
.pipeline-background-note p { margin:0; color:#AEB6C0; font-size:.62rem; line-height:1.4; }
.pipeline-background-note strong { color:#E5E8EC; }
.pipeline-command-actions { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; flex-wrap:wrap; }
.pipeline-command-actions .btn-secondaire { color:#E4E8EC; border-color:var(--charbon-600); background:rgba(255,255,255,.055); box-shadow:none; }
.pipeline-command-actions .btn-secondaire:hover { border-color:#7D8794; background:rgba(255,255,255,.1); }

.pipeline-state-card { position:sticky; top:76px; margin:0; padding:1.05rem; border-color:var(--cuivre-bord); box-shadow:var(--ombre-2); }
.pipeline-current-total { display:block; margin:.3rem 0 -.1rem; color:var(--cuivre); font:780 2.2rem/1 var(--mono); letter-spacing:-.05em; }
.pipeline-state-card h2 { margin:.25rem 0 .45rem; color:var(--encre); font-size:.92rem; line-height:1.35; letter-spacing:0; text-transform:none; }
.pipeline-state-card > p { margin:0; color:var(--texte-2); font-size:.65rem; line-height:1.45; }
.pipeline-state-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; margin:.7rem 0; }
.pipeline-state-list > div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-width:0; padding:.42rem .48rem; border:1px solid var(--bord); border-radius:7px; background:var(--fond); }
.pipeline-state-list dt { color:var(--texte-2); font-size:.64rem; }
.pipeline-state-list dt button { margin:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-align:left; }
.pipeline-state-list dt button:hover { color:var(--cuivre); text-decoration:underline; text-underline-offset:2px; }
.pipeline-state-list dd { margin:0; color:var(--encre); font:720 .7rem var(--mono); }
.pipeline-state-list .pipeline-state-error { display:none; }
.pipeline-state-list .pipeline-state-error.est-visible { display:flex; }
.pipeline-state-error dt button,.pipeline-state-error dd { color:var(--rouge); }
.pipeline-sidebar-cta { width:100%; min-height:38px; text-align:center; }
.pipeline-scope-links { display:flex; justify-content:center; gap:.35rem; flex-wrap:wrap; margin-top:.65rem; color:var(--texte-3); font-size:.59rem; text-align:center; }

.pipeline-error-banner { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; padding:.8rem .9rem; border:1px solid var(--rouge-bord); border-radius:9px; background:var(--rouge-doux); }
.pipeline-error-banner > span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:var(--rouge); color:#fff; font-weight:800; }
.pipeline-error-banner > div { flex:1; min-width:0; }
.pipeline-error-banner strong,.pipeline-error-banner p { display:block; margin:0; }
.pipeline-error-banner strong { color:var(--rouge); font-size:.76rem; }
.pipeline-error-banner p { margin-top:.08rem; color:var(--texte-2); font-size:.66rem; }

.pipeline-explorer { min-width:0; padding:0; overflow:visible; scroll-margin-top:76px; }
.pipeline-explorer-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 1.15rem .85rem; }
.pipeline-explorer-heading h2 { margin:.1rem 0 .15rem; color:var(--encre); font-size:1.05rem; letter-spacing:-.01em; text-transform:none; }
.pipeline-explorer-heading p { margin:0; color:var(--texte-2); font-size:.69rem; }
.pipeline-results-count { flex:none; padding:.28rem .55rem; border:1px solid var(--bord); border-radius:999px; background:var(--fond); color:var(--texte-2); font:680 .62rem var(--mono); }
.pipeline-import-scope { display:flex; align-items:center; gap:.75rem; margin:0 .9rem .8rem; padding:.72rem .8rem; border:1px solid var(--cuivre-bord); border-radius:9px; background:var(--cuivre-doux); }
.pipeline-import-scope-icon { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:var(--cuivre); color:#fff; font-weight:800; }
.pipeline-import-scope > div:nth-child(2) { flex:1; min-width:0; }
.pipeline-import-scope strong,.pipeline-import-scope small { display:block; }
.pipeline-import-scope strong { color:var(--encre); font-size:.72rem; }
.pipeline-import-scope small { margin-top:.12rem; color:var(--texte-2); font-size:.61rem; line-height:1.4; }
.pipeline-import-scope-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.pipeline-phase-tabs { display:flex; gap:.2rem; padding:0 .8rem; border-bottom:1px solid var(--bord); overflow-x:auto; scrollbar-width:thin; }
.pipeline-phase-tabs.est-cohorte { background:linear-gradient(90deg, rgba(193,104,43,.055), transparent 72%); }
.pipeline-phase-tabs button { display:flex; align-items:center; gap:.35rem; min-height:42px; flex:none; padding:.55rem .65rem; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--texte-2); font:650 .68rem var(--police); cursor:pointer; white-space:nowrap; }
.pipeline-phase-tabs button:hover { color:var(--encre); background:#FAFAF9; }
.pipeline-phase-tabs button[aria-pressed="true"] { border-bottom-color:var(--cuivre); color:var(--cuivre); }
.pipeline-phase-tabs button span { min-width:20px; padding:.08rem .32rem; border-radius:999px; background:var(--fond); color:inherit; font:680 .57rem var(--mono); text-align:center; }

.pipeline-toolbar { position:relative; display:flex; align-items:center; gap:.65rem; padding:.75rem .9rem; border-bottom:1px solid var(--bord); background:#FBFBFA; }
.pipeline-search { display:grid; grid-template-columns:18px auto minmax(170px,320px); gap:.45rem; align-items:center; margin:0; padding:.22rem .55rem; border:1px solid var(--bord-fort); border-radius:8px; background:#fff; }
.pipeline-search svg { width:16px; height:16px; color:var(--texte-3); }
.pipeline-search > span { font-size:.6rem; font-weight:720; text-transform:uppercase; letter-spacing:.05em; }
.pipeline-search input { min-width:0; height:30px; padding:.2rem; border:0; background:transparent; font-size:.73rem; }
.pipeline-search input:focus { box-shadow:none; }
.pipeline-search:focus-within { border-color:var(--cuivre); box-shadow:0 0 0 3px rgba(180,98,45,.16); }
.pipeline-filter-details { position:relative; margin-left:auto; }
.pipeline-filter-details > summary { display:flex; align-items:center; gap:.4rem; min-height:38px; padding:.45rem .7rem; border:1px solid var(--bord-fort); border-radius:8px; background:#fff; color:var(--texte-2); font-size:.68rem; font-weight:680; list-style:none; cursor:pointer; }
.pipeline-filter-details > summary::-webkit-details-marker { display:none; }
.pipeline-filter-details > summary::after { content:'⌄'; color:var(--texte-3); }
.pipeline-filter-details[open] > summary { border-color:var(--cuivre-bord); color:var(--cuivre); background:var(--cuivre-doux); }
.pipeline-active-filters { display:grid; place-items:center; min-width:18px; height:18px; padding:0 .25rem; border-radius:999px; background:var(--cuivre); color:#fff; font:700 .56rem var(--mono); }
.pipeline-filter-fields { position:absolute; z-index:20; top:calc(100% + .45rem); right:0; display:grid; grid-template-columns:repeat(2,minmax(210px,1fr)); gap:.75rem; width:min(560px,calc(100vw - 3rem)); padding:.9rem; border:1px solid var(--bord-fort); border-radius:10px; background:#fff; box-shadow:var(--ombre-3); }
.pipeline-filter-fields label { margin:0; }
.pipeline-filter-fields label > span { display:block; margin-bottom:.25rem; color:var(--texte-2); font-size:.6rem; font-weight:720; text-transform:uppercase; letter-spacing:.05em; }
.pipeline-filter-fields select { width:100%; font-size:.7rem; }
.btn-lien-cuivre { padding:.35rem .2rem; border:0; background:transparent; color:var(--cuivre); box-shadow:none; }
.btn-lien-cuivre:hover { text-decoration:underline; text-underline-offset:2px; }

.pipeline-selection-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.7rem .9rem 0; padding:.65rem .75rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); }
.pipeline-selection-bar strong,.pipeline-selection-bar small { display:block; }
.pipeline-selection-bar strong { color:var(--encre); font-size:.72rem; }
.pipeline-selection-bar small { margin-top:.06rem; color:var(--texte-2); font-size:.6rem; }
.pipeline-selection-bar > div:last-child { display:flex; gap:.45rem; }
.pipeline-table-status { display:flex; align-items:center; gap:.65rem; margin:.7rem .9rem 0; padding:.65rem .75rem; border:1px solid var(--rouge-bord); border-radius:8px; background:var(--rouge-doux); }
.pipeline-table-status strong,.pipeline-table-status span { display:block; }
.pipeline-table-status strong { color:var(--rouge); font-size:.7rem; }
.pipeline-table-status span { flex:1; color:var(--texte-2); font-size:.64rem; }
.pipeline-table-shell { width:100%; max-width:100%; overflow-x:auto; }
.pipeline-table-shell table { min-width:1110px; }
.pipeline-table-shell caption { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.pipeline-table-shell th,.pipeline-table-shell td { padding:.7rem .65rem; }
.pipeline-table-shell th:first-child,.pipeline-table-shell td:first-child { width:42px; text-align:center; }
.pipeline-table-shell input[type="checkbox"] { width:17px; height:17px; accent-color:var(--cuivre); cursor:pointer; }
.pipeline-sort { display:inline-flex; align-items:center; gap:.25rem; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; }
.pipeline-sort::after { content:'↕'; opacity:.38; font-size:.8em; }
.pipeline-sort.tri-asc::after { content:'↑'; opacity:1; color:var(--cuivre); }
.pipeline-sort.tri-desc::after { content:'↓'; opacity:1; color:var(--cuivre); }
.pipeline-company-cell { min-width:230px; }
.pipeline-company-cell > a strong,.pipeline-company-cell > small { display:block; }
.pipeline-company-cell > a strong { overflow:hidden; max-width:275px; color:var(--encre); font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.pipeline-company-cell > small { margin-top:.12rem; color:var(--texte-2); font-size:.61rem; }
.pipeline-company-cell .data-lineage { color:var(--bleu); font-size:.53rem; letter-spacing:.025em; }
.pipeline-selection-unavailable { color:var(--texte-3); }
.pipeline-row-status { min-width:170px; }
.pipeline-row-status > span:first-child { display:flex; align-items:center; gap:.4rem; }
.pipeline-row-status > span strong { color:var(--encre); font-size:.66rem; }
.pipeline-row-status > small { display:block; margin-top:.18rem; max-width:210px; color:var(--texte-2); font-size:.56rem; line-height:1.35; }
.pipeline-row-status.est-erreur > span strong,.pipeline-row-status.est-erreur > small { color:var(--rouge); }
.pipeline-row-status.est-hors-perimetre > span strong { color:var(--texte-2); }
.pipeline-row-status.est-decision > span strong,.pipeline-row-status.est-termine > span strong { color:var(--vert); }
.pipeline-row-status.est-encours > span strong,.pipeline-row-status.est-planifie > span strong { color:var(--bleu); }
.pipeline-row-status.est-pause > span strong,.pipeline-row-status.est-pause > small { color:#8a570f; }
.pipeline-row-status .analyse-spinner { width:12px; height:12px; }
.pipeline-row-progress { display:flex !important; gap:3px; margin-top:.35rem; }
.pipeline-row-progress i { display:block; width:20px; height:3px; border-radius:4px; background:var(--bord); }
.pipeline-row-progress i.est-fait { background:var(--bleu); }
.pipeline-row-status.est-decision .pipeline-row-progress i.est-fait,.pipeline-row-status.est-termine .pipeline-row-progress i.est-fait { background:var(--vert); }
.pipeline-row-status.est-erreur .pipeline-row-progress i.est-fait { background:var(--rouge); }
.pipeline-row-status.est-pause .pipeline-row-progress i.est-fait { background:var(--orange); }
.pipeline-pending-result { display:inline-flex; padding:.22rem .48rem; border:1px dashed var(--bord-fort); border-radius:999px; color:var(--texte-2); font-size:.62rem; }
.pipeline-table-metric { min-width:76px; }
.pipeline-table-metric strong { display:block; margin-bottom:.22rem; color:var(--encre); font:720 .72rem var(--mono); }
.pipeline-table-metric strong small { font-size:.58em; }
.pipeline-table-metric > span { display:block; width:72px; height:5px; overflow:hidden; border-radius:5px; background:var(--bord); }
.pipeline-table-metric i { display:block; height:100%; border-radius:inherit; background:var(--cuivre); }
.pipeline-table-metric.proof i { background:var(--bleu); }
.pipeline-table-metric.timing i { background:#9A5A08; }
.pipeline-metric-empty { display:block; max-width:74px; color:var(--texte-3); font-size:.55rem; line-height:1.25; }
.pipeline-row-action { text-align:right; }
.pipeline-row-action .btn { min-height:32px; }
.pipeline-row.est-erreur { background:linear-gradient(90deg,var(--rouge-doux),#fff 28%); }
.pipeline-row.est-hors-perimetre { background:linear-gradient(90deg,var(--fond),#fff 28%); }
.pipeline-loading-spinner { display:inline-block; margin:0 .45rem -.15rem 0; }
.etat-vide > strong,.etat-vide > small { display:block; }
.etat-vide > strong { color:var(--encre); font-size:.78rem; }
.etat-vide > small { margin:.15rem auto .65rem; font-size:.66rem; }
.pipeline-pagination { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .9rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.pipeline-pagination > span { color:var(--texte-2); font:650 .62rem var(--mono); }
.pipeline-pagination > div { display:flex; gap:.4rem; }

.pipeline-secondary-details { margin:0 0 .7rem; padding:0; overflow:hidden; }
.pipeline-secondary-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; list-style:none; cursor:pointer; }
.pipeline-secondary-details > summary::-webkit-details-marker { display:none; }
.pipeline-secondary-details > summary:hover { background:#FBFBFA; }
.pipeline-secondary-details > summary strong,.pipeline-secondary-details > summary small { display:block; }
.pipeline-secondary-details > summary strong { color:var(--encre); font-size:.76rem; }
.pipeline-secondary-details > summary small { margin-top:.08rem; color:var(--texte-2); font-size:.61rem; }
.pipeline-summary-meta { display:flex; align-items:center; gap:.5rem; flex:none; color:var(--texte-2); font-size:.62rem; font-weight:650; white-space:nowrap; }
.pipeline-summary-meta i { color:var(--cuivre); font-size:1.1rem; font-style:normal; transition:transform .15s; }
.pipeline-secondary-details[open] .pipeline-summary-meta i { transform:rotate(90deg); }
.pipeline-secondary-body { padding:1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.pipeline-explanation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.pipeline-explanation-grid article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:.65rem; align-items:start; padding:.7rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.pipeline-explanation-grid article > span { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:var(--cuivre-doux); color:var(--cuivre); font:720 .62rem var(--mono); }
.pipeline-explanation-grid strong,.pipeline-explanation-grid p { display:block; margin:0; }
.pipeline-explanation-grid strong { color:var(--encre); font-size:.69rem; }
.pipeline-explanation-grid p { margin-top:.12rem; color:var(--texte-2); font-size:.62rem; line-height:1.45; }
.pipeline-metric-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.pipeline-metric-guide article { display:flex; align-items:flex-start; gap:.6rem; padding:.75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.pipeline-metric-guide article > span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:8px; background:var(--cuivre-doux); color:var(--cuivre); }
.pipeline-metric-guide article.proof > span { background:var(--bleu-doux); color:var(--bleu); }
.pipeline-metric-guide article.timing > span { background:var(--orange-doux); color:#8C5106; }
.pipeline-metric-guide strong,.pipeline-metric-guide p { display:block; margin:0; }
.pipeline-metric-guide strong { color:var(--encre); font-size:.7rem; }
.pipeline-metric-guide p { margin-top:.12rem; color:var(--texte-2); font-size:.61rem; line-height:1.4; }
.pipeline-metric-guide > p { grid-column:1/-1; margin:0; padding:.65rem .75rem; border-left:3px solid var(--vert); background:var(--vert-doux); color:var(--texte-2); font-size:.64rem; }
.pipeline-metric-guide > p strong { color:var(--vert); }

.pipeline-launch-dialog { width:min(590px,calc(100vw - 2rem)); padding:0; border:1px solid var(--bord); border-radius:12px; background:#fff; box-shadow:var(--ombre-3); }
.pipeline-launch-dialog::backdrop { background:rgba(22,25,30,.64); backdrop-filter:blur(2px); }
.pipeline-dialog-inner { position:relative; padding:1.25rem; }
.pipeline-dialog-inner h2 { margin:.12rem 0 .35rem; color:var(--encre); font-size:1.15rem; text-transform:none; }
.pipeline-dialog-inner > p { margin:0; color:var(--texte-2); font-size:.72rem; line-height:1.5; }
.pipeline-dialog-close { position:absolute; top:.7rem; right:.75rem; width:32px; height:32px; border:0; border-radius:50%; background:var(--fond); color:var(--texte-2); font-size:1.15rem; cursor:pointer; }
.pipeline-dialog-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin:1rem 0 .7rem; }
.pipeline-dialog-summary > div { padding:.65rem; border:1px solid var(--bord); border-radius:8px; background:var(--fond); }
.pipeline-dialog-summary dt { color:var(--texte-2); font-size:.57rem; text-transform:uppercase; letter-spacing:.04em; }
.pipeline-dialog-summary dd { margin:.2rem 0 0; color:var(--encre); font-size:.7rem; font-weight:720; }
.pipeline-dialog-scope-note { display:flex; gap:.55rem; align-items:flex-start; margin-bottom:.7rem; padding:.65rem .7rem; border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux); }
.pipeline-dialog-scope-note > span { display:grid; place-items:center; width:20px; height:20px; flex:none; border-radius:50%; background:var(--bleu); color:#fff; font:700 .65rem Georgia,serif; }
.pipeline-dialog-scope-note p { margin:0; color:var(--texte-2); font-size:.64rem; line-height:1.4; }
.pipeline-dialog-scope-note strong { color:var(--bleu); }
.pipeline-confirm-check { display:flex; align-items:flex-start; gap:.55rem; margin:0; padding:.7rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); color:var(--texte-2); font-size:.68rem; line-height:1.4; }
.pipeline-confirm-check input { width:auto; margin:.15rem 0 0; accent-color:var(--cuivre); }
.pipeline-dialog-actions { display:flex; justify-content:flex-end; gap:.55rem; margin-top:1rem; }

/* ------------------------------------------------------------
   Décisions — étape 5 : arbitrer, engager, suivre
   ------------------------------------------------------------ */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.decision-page-entete .grille-titre { max-width:760px; }
.decision-mission {
  display:grid; grid-template-columns:48px minmax(0,1fr) minmax(275px,330px); gap:1rem; align-items:center;
  margin:0 0 .75rem; padding:1rem 1.15rem; border:1px solid var(--cuivre-bord); border-radius:11px;
  background:linear-gradient(135deg,var(--cuivre-doux),#fff 72%); box-shadow:var(--ombre-1);
}
.decision-mission-index { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--cuivre); color:#fff; font:780 .86rem var(--mono); box-shadow:0 0 0 4px rgba(180,98,45,.12); }
.decision-mission-copy .eyebrow { margin:0; }
.decision-mission-copy h2 { margin:.1rem 0 .16rem; color:var(--encre); font-size:1.05rem; line-height:1.35; letter-spacing:-.012em; text-transform:none; }
.decision-mission-copy > p { margin:0; color:var(--texte-2); font-size:.71rem; line-height:1.48; }
.decision-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:.75rem 0 0; padding:0; overflow:hidden; border:1px solid var(--bord); border-radius:8px; background:var(--bord); list-style:none; }
.decision-process li { display:grid; grid-template-columns:24px 1fr; gap:0 .45rem; align-items:center; min-width:0; padding:.48rem .52rem; background:rgba(255,255,255,.84); }
.decision-process li > span { grid-row:1/3; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:var(--fond); color:var(--cuivre); font:740 .6rem var(--mono); }
.decision-process strong,.decision-process small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.decision-process strong { color:var(--encre); font-size:.64rem; }
.decision-process small { color:var(--texte-2); font-size:.54rem; }
.decision-mission-output { padding:.78rem .85rem; border:1px solid var(--cuivre-bord); border-radius:9px; background:#fff; }
.decision-mission-output > span,.decision-mission-output > strong,.decision-mission-output > small { display:block; }
.decision-mission-output > span { color:var(--cuivre); font-size:.57rem; font-weight:760; text-transform:uppercase; letter-spacing:.07em; }
.decision-mission-output > strong { margin:.2rem 0 .12rem; color:var(--encre); font-size:.76rem; line-height:1.35; }
.decision-mission-output > small { margin-bottom:.55rem; color:var(--texte-2); font-size:.61rem; line-height:1.4; }
.decision-mission-output .btn { width:100%; min-height:36px; white-space:normal; text-align:center; }
.decision-output-termine { border-color:var(--vert-bord); background:var(--vert-doux); }
.decision-output-termine > span { color:var(--vert); }

.decision-boundary { display:flex; align-items:flex-start; gap:.65rem; margin:0 0 1rem; padding:.65rem .78rem; border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux); }
.decision-boundary > span { display:grid; place-items:center; width:21px; height:21px; flex:none; border-radius:50%; background:var(--bleu); color:#fff; font:760 .66rem Georgia,serif; }
.decision-boundary p { margin:0; color:var(--texte-2); font-size:.66rem; line-height:1.45; }
.decision-boundary strong { color:var(--bleu); }

.decision-command-layout { display:grid; grid-template-columns:minmax(0,1fr) 295px; gap:1rem; align-items:start; margin-bottom:1rem; }
.decision-workspace { min-width:0; padding:0; overflow:hidden; border-color:#D9DDE2; box-shadow:var(--ombre-2); }
.decision-queue-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid var(--bord); background:#F8F8F7; }
.decision-queue-tabs a { display:flex; align-items:center; justify-content:center; gap:.45rem; min-width:0; padding:.68rem .55rem; border-right:1px solid var(--bord); color:var(--texte-2); font-size:.66rem; font-weight:690; text-decoration:none; }
.decision-queue-tabs a:last-child { border-right:0; }
.decision-queue-tabs a:hover { background:#fff; color:var(--encre); text-decoration:none; }
.decision-queue-tabs a.actif { color:var(--cuivre); background:var(--cuivre-doux); box-shadow:inset 0 -2px 0 var(--cuivre); }
.decision-queue-tabs strong { display:grid; place-items:center; min-width:23px; height:21px; padding:0 .35rem; border-radius:999px; background:#fff; color:inherit; font:750 .58rem var(--mono); }
.decision-queue-tabs a.actif strong { background:var(--cuivre); color:#fff; }
.decision-queue-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 1.05rem .85rem; }
.decision-queue-heading .eyebrow { margin:0; }
.decision-queue-heading h2 { margin:.1rem 0 .15rem; color:var(--encre); font-size:1.03rem; line-height:1.35; text-transform:none; letter-spacing:-.01em; }
.decision-queue-heading p { max-width:720px; margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.45; }
.decision-range { flex:none; padding:.25rem .5rem; border:1px solid var(--bord); border-radius:999px; background:var(--fond); color:var(--texte-2); font:680 .58rem var(--mono); white-space:nowrap; }
.decision-funnel-summary { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(210px,.8fr); gap:.7rem; margin:0 1rem .9rem; }
.decision-funnel-result { min-width:0; padding:.85rem .9rem; border:1px solid var(--bord); border-radius:9px; }
.decision-funnel-result-positive { border-color:var(--vert-bord); background:var(--vert-doux); }
.decision-funnel-result-caution { border-color:var(--orange-bord); background:var(--orange-doux); }
.decision-funnel-result .eyebrow { display:block; margin:0 0 .18rem; }
.decision-funnel-result > strong { display:block; color:var(--encre); font-size:.83rem; line-height:1.35; }
.decision-funnel-result p { margin:.26rem 0 .55rem; color:var(--texte-2); font-size:.68rem; line-height:1.45; }
.decision-funnel-result p a { color:var(--encre); font-weight:720; text-decoration:underline; text-decoration-color:rgba(26,30,35,.25); text-underline-offset:2px; }
.decision-funnel-result > small { display:block; margin-top:.55rem; color:var(--texte-2); font-size:.6rem; line-height:1.45; }
.decision-funnel-result-caution > a { color:var(--orange); font-size:.63rem; font-weight:700; }

.decision-filters { display:grid; grid-template-columns:minmax(210px,1fr) 165px 185px auto auto; gap:.55rem; align-items:end; padding:.75rem 1rem; border-top:1px solid var(--bord); border-bottom:1px solid var(--bord); background:#FBFBFA; }
.decision-filters label { min-width:0; margin:0; }
.decision-filters label > span:not(.sr-only) { display:block; margin:0 0 .23rem; color:var(--texte-2); font-size:.55rem; font-weight:730; letter-spacing:.04em; text-transform:uppercase; }
.decision-filters select,.decision-filters input { width:100%; min-width:0; min-height:38px; font-size:.66rem; }
.decision-search { position:relative; }
.decision-search svg { position:absolute; z-index:1; left:.66rem; bottom:.65rem; width:15px; height:15px; color:var(--texte-3); pointer-events:none; }
.decision-search input { padding-left:2rem; }
.decision-filters .btn { min-height:38px; }

.decision-list { margin:0; padding:0; list-style:none; }
.decision-list > li { border-bottom:1px solid var(--bord); }
.decision-list > li:last-child { border-bottom:0; }
.decision-row { display:grid; grid-template-columns:minmax(155px,1.05fr) minmax(125px,.72fr) minmax(175px,1.05fr) minmax(165px,1.18fr) 125px; gap:.7rem; align-items:center; padding:.78rem 1rem; background:#fff; transition:background .12s; }
.decision-row:hover { background:#FCFCFB; }
.decision-row.est-en-retard { background:linear-gradient(90deg,var(--rouge-doux),#fff 26%); }
.decision-company { display:grid; grid-template-columns:25px minmax(0,1fr); gap:.55rem; align-items:start; min-width:0; }
.decision-position { display:grid; place-items:center; width:24px; height:24px; margin-top:.02rem; border:1px solid var(--bord); border-radius:50%; background:var(--fond); color:var(--texte-2); font:720 .55rem var(--mono); }
.decision-company h3 { margin:0; font-size:.76rem; line-height:1.35; }
.decision-company h3 a { display:block; overflow:hidden; color:var(--encre); text-overflow:ellipsis; white-space:nowrap; }
.decision-company p { margin:.12rem 0 0; color:var(--texte-2); font-size:.55rem; line-height:1.4; }
.decision-recommendation,.decision-record { min-width:0; }
.decision-recommendation small,.decision-record small { display:block; margin-top:.28rem; color:var(--texte-2); font-size:.55rem; line-height:1.35; }
.decision-row-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; margin:0; }
.decision-row-metrics div { min-width:0; padding:.42rem .38rem; border:1px solid var(--bord); border-radius:6px; background:var(--fond); text-align:center; }
.decision-row-metrics dt { overflow:hidden; color:var(--texte-2); font-size:.48rem; font-weight:700; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.decision-row-metrics dd { margin:.14rem 0 0; color:var(--encre); font:740 .67rem var(--mono); }
.decision-row-metrics dd.preuve-solide { color:var(--vert); }
.decision-row-metrics dd.preuve-moyenne { color:var(--bleu); }
.decision-row-metrics dd.preuve-fragile { color:var(--orange); }
.decision-evidence-state,.decision-reason { min-width:0; }
.decision-evidence-state strong,.decision-evidence-state p,.decision-reason strong,.decision-reason p { display:block; margin:0; }
.decision-evidence-state strong,.decision-reason strong { color:var(--encre); font-size:.62rem; }
.decision-evidence-state p,.decision-reason p { display:-webkit-box; overflow:hidden; margin-top:.12rem; color:var(--texte-2); font-size:.57rem; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.decision-row-action { display:flex; flex-direction:column; align-items:stretch; gap:.25rem; text-align:center; }
.decision-row-action .btn { min-height:34px; padding-inline:.55rem; white-space:normal; }
.decision-row-action small { color:var(--texte-2); font-size:.51rem; line-height:1.3; }
.decision-empty { padding:2.7rem 1rem; text-align:center; }
.decision-empty-icon { display:grid; place-items:center; width:42px; height:42px; margin:0 auto .65rem; border-radius:50%; background:var(--vert-doux); color:var(--vert); font-size:1rem; }
.decision-empty h3 { margin:0; color:var(--encre); font-size:.92rem; }
.decision-empty p { max-width:520px; margin:.25rem auto .8rem; color:var(--texte-2); font-size:.68rem; line-height:1.5; }
.decision-pagination { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.72rem 1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.decision-pagination > span,.decision-pagination > div > span { color:var(--texte-2); font:650 .58rem var(--mono); }
.decision-pagination > div { display:flex; align-items:center; gap:.45rem; }

.decision-sidebar { min-width:0; }
.decision-state-card { position:sticky; top:68px; margin:0 0 .8rem; padding:1rem; border-color:var(--cuivre-bord); box-shadow:var(--ombre-2); }
.decision-state-card h2,.decision-result-card h2 { margin:.15rem 0 .7rem; color:var(--encre); font-size:.92rem; line-height:1.35; text-transform:none; }
.decision-state-list { margin:0; }
.decision-state-list > div { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.48rem .1rem; border-bottom:1px solid var(--bord); }
.decision-state-list > div.actif { margin-inline:-.45rem; padding-inline:.45rem; border-bottom-color:var(--cuivre-bord); border-radius:6px; background:var(--cuivre-doux); }
.decision-state-list dt { color:var(--texte-2); font-size:.62rem; }
.decision-state-list dd { margin:0; color:var(--encre); font:760 .68rem var(--mono); }
.decision-state-list > div.actif dt,.decision-state-list > div.actif dd { color:var(--cuivre); font-weight:720; }
.decision-state-next { margin-top:.8rem; padding:.72rem; border:1px solid var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); }
.decision-state-next strong,.decision-state-next p { display:block; margin:0; }
.decision-state-next strong { color:var(--encre); font-size:.68rem; line-height:1.4; }
.decision-state-next p { margin:.15rem 0 .55rem; color:var(--texte-2); font-size:.57rem; line-height:1.4; }
.decision-state-next .btn { width:100%; min-height:34px; padding-inline:.5rem; white-space:normal; text-align:center; }
.decision-result-card { padding:1rem; background:linear-gradient(145deg,var(--charbon-800),var(--charbon-900)); }
.decision-result-card .eyebrow { color:#E8B58C; }
.decision-result-card h2 { color:#fff; }
.decision-result-card p { margin:0; color:#BEC5CE; font-size:.64rem; line-height:1.5; }

.decision-secondary-details { margin:0 0 .7rem; padding:0; overflow:hidden; }
.decision-secondary-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.82rem 1rem; list-style:none; cursor:pointer; }
.decision-secondary-details > summary::-webkit-details-marker { display:none; }
.decision-secondary-details > summary:hover { background:#FBFBFA; }
.decision-secondary-details > summary strong,.decision-secondary-details > summary small { display:block; }
.decision-secondary-details > summary strong { color:var(--encre); font-size:.73rem; }
.decision-secondary-details > summary small { margin-top:.08rem; color:var(--texte-2); font-size:.59rem; }
.decision-secondary-details > summary > span { display:flex; align-items:center; gap:.5rem; flex:none; color:var(--texte-2); font-size:.6rem; font-weight:650; }
.decision-secondary-details > summary i { color:var(--cuivre); font-size:1.1rem; font-style:normal; transition:transform .15s; }
.decision-secondary-details[open] > summary i { transform:rotate(90deg); }
.decision-secondary-body { padding:1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.decision-metric-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.decision-metric-guide article { display:flex; align-items:flex-start; gap:.6rem; padding:.75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.decision-metric-guide article > span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:8px; background:var(--cuivre-doux); color:var(--cuivre); font:760 .62rem var(--mono); }
.decision-metric-guide article.proof > span { background:var(--bleu-doux); color:var(--bleu); }
.decision-metric-guide article.timing > span { background:var(--orange-doux); color:var(--orange); }
.decision-metric-guide strong,.decision-metric-guide p { display:block; margin:0; }
.decision-metric-guide strong { color:var(--encre); font-size:.68rem; }
.decision-metric-guide p { margin-top:.12rem; color:var(--texte-2); font-size:.59rem; line-height:1.42; }
.decision-recommendation-guide { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin-top:.7rem; }
.decision-recommendation-guide > div { padding:.65rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.decision-recommendation-guide p { margin:.35rem 0 0; color:var(--texte-2); font-size:.57rem; line-height:1.4; }
.decision-after-guide { display:flex; gap:.5rem; align-items:baseline; margin-top:.7rem; padding:.65rem .75rem; border-left:3px solid var(--vert); background:var(--vert-doux); color:var(--texte-2); font-size:.62rem; line-height:1.45; }
.decision-after-guide strong { flex:none; color:var(--vert); }
.decision-technical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.decision-technical-grid section { padding:.75rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.decision-technical-grid h3 { margin:.12rem 0 .2rem; color:var(--encre); font-size:.9rem; }
.decision-technical-grid p { margin:0 0 .4rem; color:var(--texte-2); font-size:.61rem; line-height:1.45; }
.decision-technical-grid a { font-size:.62rem; font-weight:680; }

/* ------------------------------------------------------------
   Administration — cockpit financier
   ------------------------------------------------------------ */
.admin-tabs {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden;
  margin:-.35rem 0 1.15rem; border:1px solid var(--charbon-700); border-radius:11px;
  background:var(--charbon-700); box-shadow:var(--ombre-2);
}
.admin-tabs a {
  display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:.7rem; align-items:center;
  min-height:66px; padding:.7rem .85rem; background:var(--charbon-800); color:#D4D9DF; text-decoration:none;
}
.admin-tabs a:hover { background:var(--charbon-700); text-decoration:none; }
.admin-tabs a.actif { background:linear-gradient(135deg,#2A313A,#22272E); box-shadow:inset 0 -3px 0 var(--cuivre-vif); color:#fff; }
.admin-tabs a > span { display:grid; grid-row:1/3; place-items:center; width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.07); color:#AEB6C0; font:750 .78rem var(--mono); }
.admin-tabs a.actif > span { background:rgba(201,114,47,.19); color:#F0BE97; }
.admin-tabs strong,.admin-tabs small { display:block; min-width:0; }
.admin-tabs strong { align-self:end; font-size:.75rem; }
.admin-tabs small { align-self:start; color:#8F98A5; font-size:.58rem; line-height:1.3; }

.admin-costs-header { align-items:center; margin-bottom:1rem; }
.admin-costs-title { flex:1 1 490px; }
.admin-costs-title h1 { font-size:1.7rem; }
.admin-costs-title .sous-titre { max-width:720px; }
.admin-costs-filters {
  display:flex; flex:1 1 590px; flex-wrap:wrap; min-width:0; align-items:flex-end; justify-content:flex-end; gap:.45rem; margin:0;
}
.admin-costs-filters label { min-width:145px; margin:0; color:var(--texte-2); font-size:.59rem; text-transform:uppercase; letter-spacing:.055em; }
.admin-costs-filters select,.admin-costs-filters input { min-height:37px; margin-top:.18rem; padding-block:.45rem; background:#fff; font-size:.68rem; text-transform:none; letter-spacing:normal; }
.admin-costs-filters .btn { min-height:37px; white-space:nowrap; }
.admin-costs-dates { display:flex; align-items:flex-end; gap:.35rem; }
.admin-costs-dates label { min-width:125px; }

.cost-data-quality {
  display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:.8rem; align-items:center;
  margin-bottom:.85rem; padding:.8rem .9rem; border:1px solid var(--vert-bord); border-radius:10px;
  background:var(--vert-doux);
}
.cost-data-quality.est-partielle { border-color:var(--orange-bord); background:var(--orange-doux); }
.cost-quality-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#fff; color:var(--vert); font:800 .8rem var(--mono); box-shadow:var(--ombre-1); }
.est-partielle .cost-quality-icon { color:var(--orange); }
.cost-data-quality strong,.cost-data-quality p { display:block; margin:0; }
.cost-data-quality strong { color:var(--encre); font-size:.72rem; }
.cost-data-quality p { margin-top:.12rem; color:var(--texte-2); font-size:.61rem; line-height:1.45; }
.cost-data-quality dl { display:flex; margin:0; overflow:hidden; border:1px solid rgba(178,106,11,.18); border-radius:8px; background:rgba(255,255,255,.58); }
.cost-data-quality dl > div { min-width:120px; padding:.45rem .6rem; border-left:1px solid rgba(178,106,11,.14); }
.cost-data-quality dl > div:first-child { border-left:0; }
.cost-data-quality dt,.cost-data-quality dd { margin:0; }
.cost-data-quality dt { color:var(--texte-2); font-size:.52rem; }
.cost-data-quality dd { margin-top:.08rem; color:var(--encre); font:760 .69rem var(--mono); }

.admin-costs-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin-bottom:.55rem; }
.cost-kpi { position:relative; min-height:158px; padding:.9rem 1rem; overflow:hidden; border:1px solid var(--bord); border-radius:10px; background:#fff; box-shadow:var(--ombre-1); }
.cost-kpi::after { content:""; position:absolute; inset:auto -30px -42px auto; width:110px; height:110px; border-radius:50%; background:var(--fond); }
.cost-kpi-primary { border-color:var(--cuivre-bord); background:linear-gradient(145deg,#FFF,#FFFAF6); }
.cost-kpi > span,.cost-kpi > strong,.cost-kpi > small,.cost-kpi > em { position:relative; z-index:1; display:block; }
.cost-kpi > span { color:var(--texte-2); font-size:.59rem; font-weight:720; text-transform:uppercase; letter-spacing:.055em; }
.cost-kpi > strong { margin:.38rem 0 .2rem; color:var(--encre); font:760 1.55rem var(--mono); letter-spacing:-.045em; }
.cost-kpi-primary > strong { color:var(--cuivre); }
.cost-kpi > strong small { font:.55em var(--mono); color:var(--texte-2); letter-spacing:0; }
.cost-kpi > small { min-height:34px; color:var(--texte-2); font-size:.58rem; line-height:1.42; }
.cost-kpi > em { margin-top:.42rem; color:var(--texte-3); font-size:.53rem; font-style:normal; font-weight:650; }
.cost-kpi > em.hausse { color:var(--rouge); }
.cost-kpi > em.baisse { color:var(--vert); }
.cost-kpi progress { position:relative; z-index:1; width:100%; height:6px; margin:.15rem 0 .3rem; accent-color:var(--cuivre); }

.cost-reconciliation { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; margin:0 0 1.15rem; color:var(--texte-3); font-size:.57rem; }
.cost-reconciliation span { display:flex; align-items:baseline; gap:.22rem; }
.cost-reconciliation strong { color:var(--texte-2); font:720 .61rem var(--mono); }

.cost-section { margin:1.1rem 0; }
.cost-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:.65rem; }
.cost-section-heading h2 { margin:.08rem 0 .18rem; color:var(--encre); font-size:1.08rem; line-height:1.3; text-transform:none; letter-spacing:-.015em; }
.cost-section-heading p { max-width:760px; margin:0; color:var(--texte-2); font-size:.65rem; line-height:1.45; }
.cost-section-heading.compact { margin-bottom:.7rem; }
.cost-section-heading.compact h2 { font-size:.94rem; }
.cost-depth-help { max-width:390px; padding:.55rem .7rem; border-left:3px solid var(--cuivre); background:var(--cuivre-doux); color:var(--texte-2); font-size:.58rem; line-height:1.45; }
.cost-depth-help strong { color:var(--cuivre); }
.cost-depth-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.cost-depth-card {
  display:grid; grid-template-columns:40px minmax(0,1fr); gap:.75rem; min-width:0; padding:1rem;
  border:1px solid var(--bord); border-radius:11px; background:#fff; box-shadow:var(--ombre-1);
}
.cost-depth-card.depth-complete { border-color:var(--cuivre-bord); box-shadow:var(--ombre-2); }
.cost-depth-number { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:var(--fond); color:var(--texte-2); font:760 .68rem var(--mono); }
.depth-locale .cost-depth-number { background:var(--vert-doux); color:var(--vert); }
.depth-renotation .cost-depth-number { background:var(--bleu-doux); color:var(--bleu); }
.depth-complete .cost-depth-number { background:var(--cuivre-doux); color:var(--cuivre); }
.depth-synthese .cost-depth-number { background:#F1ECF8; color:#76579A; }
.cost-synthesis-card { margin-top:.7rem; border-color:#D9CDEA; background:linear-gradient(135deg,#fff 0%,#FCFAFF 100%); }
.cost-synthesis-card .cost-depth-copy > span { color:#76579A; }
.cost-depth-copy { min-width:0; }
.cost-depth-copy > span { color:var(--texte-3); font-size:.51rem; font-weight:720; text-transform:uppercase; letter-spacing:.055em; }
.cost-depth-copy h3 { margin:.05rem 0 .14rem; font-size:.86rem; }
.cost-depth-copy p { margin:0; color:var(--texte-2); font-size:.58rem; line-height:1.42; }
.cost-depth-card dl { display:grid; grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); margin:.15rem 0 0; overflow:hidden; border:1px solid var(--bord); border-radius:8px; }
.cost-depth-card dl > div { padding:.48rem .52rem; border-left:1px solid var(--bord); background:#FBFBFA; }
.cost-depth-card dl > div:first-child { border-left:0; }
.cost-depth-card dt,.cost-depth-card dd { margin:0; }
.cost-depth-card dt { color:var(--texte-3); font-size:.48rem; line-height:1.25; }
.cost-depth-card dd { margin-top:.11rem; color:var(--encre); font:740 .62rem var(--mono); }
.cost-depth-history { grid-column:1/-1; color:var(--orange); font-size:.52rem; line-height:1.35; }
.cost-funnel-note { grid-column:1/-1; color:var(--texte-2); font-size:.58rem; line-height:1.45; }
.cost-depth-card[data-funnel-depth="contacts"] dl { grid-template-columns:repeat(3,minmax(0,1fr)); }

.cost-main-grid { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(275px,.75fr); gap:.75rem; align-items:start; margin:1rem 0; }
.cost-main-grid > .carte,.cost-detail-grid > .carte { margin:0; }
.cost-stage-card,.cost-budget-card,.cost-progress-card,.cost-trend-card { padding:1rem; }
.cost-stage-list { display:flex; flex-direction:column; gap:.18rem; }
.cost-stage-list article { display:grid; grid-template-columns:28px minmax(165px,.9fr) minmax(120px,1.3fr) 100px; gap:.65rem; align-items:center; min-height:46px; padding:.35rem .45rem; border-radius:7px; }
.cost-stage-list article:hover { background:#FBFBFA; }
.cost-stage-index { display:grid; place-items:center; width:26px; height:26px; border-radius:7px; background:var(--fond); color:var(--texte-2); font:760 .56rem var(--mono); }
.cost-stage-copy strong,.cost-stage-copy small,.cost-stage-value strong,.cost-stage-value small { display:block; }
.cost-stage-copy strong { color:var(--encre); font-size:.64rem; }
.cost-stage-copy small { overflow:hidden; margin-top:.02rem; font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }
.cost-stage-bar { height:7px; overflow:hidden; border-radius:99px; background:var(--fond); }
.cost-stage-bar i { display:block; height:100%; min-width:0; border-radius:inherit; background:linear-gradient(90deg,var(--cuivre),#DC985E); }
.cost-stage-value { text-align:right; }
.cost-stage-value strong { color:var(--encre); font:730 .62rem var(--mono); }
.cost-stage-value small { font-size:.48rem; }

.cost-budget-card { border-color:var(--cuivre-bord); background:linear-gradient(160deg,#FFF,#FFFBF7); }
.cost-budget-card > h2 { margin:.1rem 0 .75rem; color:var(--encre); font-size:.94rem; text-transform:none; letter-spacing:-.01em; }
.cost-budget-gauge { display:flex; align-items:baseline; gap:.4rem; }
.cost-budget-gauge strong { color:var(--cuivre); font:760 1.6rem var(--mono); }
.cost-budget-gauge span { color:var(--texte-2); font-size:.57rem; }
.cost-budget-card > progress { width:100%; height:8px; margin:.3rem 0 .6rem; accent-color:var(--cuivre); }
.cost-budget-card > dl { margin:0; }
.cost-budget-card > dl > div { display:flex; justify-content:space-between; gap:.7rem; padding:.4rem 0; border-bottom:1px solid var(--bord); }
.cost-budget-card dt,.cost-budget-card dd { margin:0; }
.cost-budget-card dt { color:var(--texte-2); font-size:.57rem; }
.cost-budget-card dd { color:var(--encre); font:720 .6rem var(--mono); }
.cost-budget-empty { padding:.65rem; border:1px dashed var(--cuivre-bord); border-radius:8px; background:var(--cuivre-doux); }
.cost-budget-empty strong,.cost-budget-empty p { display:block; margin:0; }
.cost-budget-empty strong { font-size:.68rem; }
.cost-budget-empty p { margin-top:.13rem; color:var(--texte-2); font-size:.57rem; line-height:1.42; }
.cost-budget-editor { margin-top:.75rem; border-top:1px solid var(--bord); }
.cost-budget-editor summary { padding:.65rem 0 .15rem; color:var(--cuivre); font-size:.61rem; font-weight:720; cursor:pointer; }
.cost-budget-editor form { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.cost-budget-editor label { margin:.3rem 0 0; font-size:.56rem; }
.cost-budget-editor input,.cost-budget-editor select { margin-top:.14rem; padding:.42rem .5rem; font-size:.62rem; }
.cost-budget-editor .btn { grid-column:1/-1; width:100%; margin-top:.25rem; }

.cost-progress-card,.cost-trend-card { margin:0 0 .8rem; }
.cost-progress-table td:first-child { display:flex; align-items:center; gap:.45rem; }
.cost-progress-table td:first-child strong { color:var(--encre); font-size:.62rem; }
.cost-progress-table td:not(:first-child) { font:620 .59rem var(--mono); font-variant-numeric:tabular-nums; }
.cost-result-step { display:grid; place-items:center; width:24px; height:24px; flex:none; border-radius:7px; background:var(--cuivre-doux); color:var(--cuivre); font:760 .53rem var(--mono); }
.cost-trend-chart { display:flex; align-items:flex-end; gap:.35rem; min-height:180px; padding:1.5rem .5rem .25rem; overflow-x:auto; border-bottom:1px solid var(--bord); }
.cost-trend-column { position:relative; display:flex; flex:1 0 24px; flex-direction:column; justify-content:flex-end; align-items:center; height:145px; min-width:24px; }
.cost-trend-value { position:absolute; top:-1.2rem; display:none; padding:.2rem .3rem; border-radius:4px; background:var(--charbon-800); color:#fff; font:.48rem var(--mono); white-space:nowrap; }
.cost-trend-column:hover .cost-trend-value { display:block; }
.cost-trend-bar { width:min(22px,80%); min-height:0; border-radius:4px 4px 1px 1px; background:linear-gradient(180deg,#D99660,var(--cuivre)); }
.cost-trend-column > span { overflow:hidden; width:100%; margin-top:.22rem; color:var(--texte-3); font:.43rem var(--mono); text-align:center; text-overflow:ellipsis; white-space:nowrap; }

.cost-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:.8rem; }
.cost-detail-grid > .carte { padding:1rem; }
.cost-empty { padding:1.35rem .75rem; border:1px dashed var(--bord-fort); border-radius:8px; text-align:center; }
.cost-empty strong,.cost-empty p { display:block; margin:0; }
.cost-empty strong { color:var(--encre); font-size:.67rem; }
.cost-empty p { max-width:450px; margin:.16rem auto 0; color:var(--texte-2); font-size:.57rem; }
.cost-company-list { display:flex; flex-direction:column; }
.cost-company-list a { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.52rem .15rem; border-bottom:1px solid var(--bord); color:var(--texte); }
.cost-company-list a:hover { background:#FBFBFA; text-decoration:none; }
.cost-company-list a > span:last-child { text-align:right; }
.cost-company-list strong,.cost-company-list small { display:block; }
.cost-company-list strong { color:var(--encre); font-size:.62rem; }
.cost-company-list small { color:var(--texte-2); font-size:.5rem; }

.cost-technical-details { margin:0; padding:0; overflow:hidden; }
.cost-technical-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.78rem 1rem; list-style:none; cursor:pointer; }
.cost-technical-details > summary::-webkit-details-marker { display:none; }
.cost-technical-details > summary:hover { background:#FBFBFA; }
.cost-technical-details > summary strong,.cost-technical-details > summary small { display:block; }
.cost-technical-details > summary strong { color:var(--encre); font-size:.68rem; }
.cost-technical-details > summary small { margin-top:.06rem; font-size:.55rem; }
.cost-technical-details > summary i { color:var(--cuivre); font-size:1.05rem; font-style:normal; transition:transform .15s; }
.cost-technical-details[open] > summary i { transform:rotate(90deg); }
.cost-technical-body { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr); gap:1rem; padding:1rem; border-top:1px solid var(--bord); background:#FBFBFA; }
.cost-technical-body h3 { margin:0 0 .45rem; font-size:.72rem; }
.cost-attribution-list > div { display:grid; grid-template-columns:1fr auto; gap:.1rem .6rem; padding:.45rem 0; border-bottom:1px solid var(--bord); }
.cost-attribution-list span { font-size:.59rem; }
.cost-attribution-list strong { font:720 .59rem var(--mono); }
.cost-attribution-list small { grid-column:1/-1; font-size:.49rem; }
.cost-technical-body section > p { color:var(--texte-2); font-size:.54rem; line-height:1.45; }

@media (max-width:1100px) {
  .admin-costs-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cost-depth-grid { grid-template-columns:1fr; }
  .cost-depth-card { grid-template-columns:40px minmax(0,1fr) minmax(360px,.9fr); align-items:center; }
  .cost-depth-card dl { grid-column:3; grid-row:1; }
  .cost-depth-history { grid-column:2/4; }
  .cost-main-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .admin-tabs { grid-template-columns:1fr; }
  .admin-tabs a { min-height:55px; }
  .admin-costs-filters { justify-content:flex-start; }
  .admin-costs-filters { width:100%; }
  .admin-costs-filters > label,.admin-costs-filters .btn { flex:1 1 calc(50% - .25rem); min-width:0; }
  .admin-costs-filters .btn { padding-inline:.55rem; }
  .admin-costs-dates { flex:1 0 100%; }
  .admin-costs-dates label { flex:1; }
  .cost-data-quality { grid-template-columns:32px minmax(0,1fr); }
  .cost-data-quality dl { grid-column:1/-1; }
  .cost-data-quality dl > div { flex:1; }
  .admin-costs-kpis,.cost-detail-grid,.cost-technical-body { grid-template-columns:1fr; }
  .cost-reconciliation { align-items:flex-start; flex-direction:column; }
  .cost-reconciliation > span[aria-hidden] { display:none; }
  .cost-section-heading { align-items:flex-start; flex-direction:column; }
  .cost-depth-help { max-width:none; }
  .cost-depth-card { grid-template-columns:36px minmax(0,1fr); }
  .cost-depth-card dl { grid-column:1/-1; grid-row:auto; grid-template-columns:1fr 1fr; }
  .cost-depth-card dl > div:nth-child(3) { border-left:0; border-top:1px solid var(--bord); }
  .cost-depth-card dl > div:nth-child(4) { border-top:1px solid var(--bord); }
  .cost-depth-history { grid-column:1/-1; }
  .cost-stage-list article { grid-template-columns:28px minmax(0,1fr) 90px; }
  .cost-stage-bar { grid-column:2/4; grid-row:2; }
  .cost-stage-copy small { white-space:normal; }
  .cost-budget-editor form { grid-template-columns:1fr; }
  .cost-budget-editor .btn { grid-column:auto; }
  .cost-progress-table { min-width:760px; }
}

/* La fiche est le poste d'arbitrage de l'étape 5. */
.fiche-decision-task { position:sticky; z-index:38; top:58px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; margin:.65rem 0 .55rem; padding:.9rem 1rem; border:1px solid var(--cuivre-bord); border-radius:10px; background:rgba(255,250,246,.97); box-shadow:var(--ombre-2); backdrop-filter:blur(8px); }
.fiche-task-copy .eyebrow { margin:0; }
.fiche-task-copy h2 { margin:.1rem 0 .15rem; color:var(--encre); font-size:1rem; line-height:1.35; text-transform:none; }
.fiche-task-copy p { max-width:750px; margin:0; color:var(--texte-2); font-size:.67rem; line-height:1.45; }
.fiche-task-actions { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; flex-wrap:wrap; max-width:570px; }
.fiche-task-actions .btn { min-height:37px; }
.fiche-task-validee,.fiche-task-transmise_bpi { border-color:var(--vert-bord); background:rgba(244,251,247,.97); }
.fiche-task-ecartee { border-color:var(--rouge-bord); background:rgba(255,248,247,.97); }
.fiche-secondary-tools { margin:0 0 .75rem; border:0; color:var(--texte-2); }
.fiche-secondary-tools > summary { display:inline-flex; align-items:center; gap:.4rem; padding:.25rem .1rem; list-style:none; font-size:.61rem; font-weight:670; cursor:pointer; }
.fiche-secondary-tools > summary::-webkit-details-marker { display:none; }
.fiche-secondary-tools > summary::before { content:'＋'; color:var(--cuivre); }
.fiche-secondary-tools[open] > summary::before { content:'−'; }
.fiche-secondary-tools > summary span { color:var(--texte-3); font-weight:560; }
.fiche-secondary-tools > div { display:flex; gap:.45rem; flex-wrap:wrap; margin-top:.35rem; padding:.55rem; border:1px solid var(--bord); border-radius:8px; background:#fff; }
.fiche-decision-summary,.fiche-evidence-section { scroll-margin-top:155px; }
.fiche-decision-summary .section-heading,.fiche-evidence-section > .section-heading { margin:1.25rem 0 .65rem; }
.fiche-decision-summary .questions-card { margin-top:.75rem; }
.questions-empty { margin:.75rem 1rem; }
.suivi-panel { scroll-margin-top:155px; }
.suivi-form-note { grid-column:1/-1; margin:.25rem 0 0; color:var(--texte-2); font-size:.61rem; }
.suivi-actions { gap:.4rem; flex-direction:column; align-items:stretch; }

.decision-dialog { width:min(560px,calc(100vw - 2rem)); padding:0; border:1px solid var(--bord); border-radius:12px; background:#fff; box-shadow:var(--ombre-3); }
.decision-dialog::backdrop { background:rgba(22,25,30,.66); backdrop-filter:blur(2px); }
.decision-dialog-inner { position:relative; padding:1.25rem; }
.decision-dialog-inner h2 { margin:.12rem 0 .25rem; color:var(--encre); font-size:1.14rem; text-transform:none; }
.decision-dialog-inner > p { margin:0; color:var(--texte-2); font-size:.68rem; line-height:1.48; }
.decision-dialog-close { position:absolute; top:.7rem; right:.75rem; display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:50%; background:var(--fond); color:var(--texte-2); font-size:1.15rem; cursor:pointer; }
.decision-dialog-impact { display:flex; gap:.55rem; align-items:flex-start; margin:.85rem 0; padding:.68rem .75rem; border:1px solid var(--bleu-bord); border-radius:8px; background:var(--bleu-doux); }
.decision-dialog-impact strong,.decision-dialog-impact span { display:block; }
.decision-dialog-impact strong { flex:none; color:var(--bleu); font-size:.64rem; }
.decision-dialog-impact span { color:var(--texte-2); font-size:.62rem; line-height:1.4; }
.decision-dialog textarea { min-height:105px; resize:vertical; }
.decision-dialog textarea[aria-invalid="true"] { border-color:var(--rouge); box-shadow:0 0 0 3px rgba(167,58,47,.12); }
.form-error { margin:.35rem 0 0 !important; color:var(--rouge) !important; font-size:.63rem !important; font-weight:650; }

:focus-visible { outline:3px solid rgba(201,114,47,.38); outline-offset:2px; }

/* Les premières preuves doivent être visibles avant les détails de méthode. */
.decision-help { margin:-.35rem 0 .9rem; color:var(--texte-2); font-size:.75rem; }
.decision-help > summary { cursor:pointer; width:fit-content; color:var(--cuivre); font-weight:650; }
.decision-help > summary span { margin-left:.5rem; color:var(--texte-3); font-weight:400; }
.decision-help > p { max-width:900px; line-height:1.5; }
.decision-help .terrain-journey { margin-top:.8rem; }
.decision-row.decision-row-a_decider,.decision-row.decision-row-a_clarifier { grid-template-columns:minmax(155px,.85fr) minmax(250px,1.7fr) 125px; gap:.65rem 1rem; padding:1.05rem; align-items:start; }
.decision-row-a_decider .decision-company,.decision-row-a_clarifier .decision-company { grid-column:1; grid-row:1; }
.decision-row-a_decider .decision-recommendation,.decision-row-a_clarifier .decision-recommendation { grid-column:1; grid-row:2; padding-left:30px; }
.decision-row-a_decider .decision-business-evidence,.decision-row-a_clarifier .decision-business-evidence { grid-column:2; grid-row:auto; }
.decision-row-a_decider .decision-row-action,.decision-row-a_clarifier .decision-row-action { grid-column:3; grid-row:1/3; align-self:center; }
.decision-business-evidence strong { font-size:.74rem; }
.decision-business-evidence p { font-size:.73rem; -webkit-line-clamp:3; line-height:1.48; }
.decision-business-evidence a { display:inline-block; margin-top:.25rem; color:var(--cuivre); font-size:.64rem; }
.decision-business-evidence.est-manquante p { color:var(--texte-3); }
.decision-company h3 { font-size:.92rem; }
.decision-company h3 a { white-space:normal; }
.decision-company p { font-size:.64rem; }
.fiche-decision-task { position:static; padding:.7rem 1rem; box-shadow:var(--ombre-1); }
/* Dossier : identité et résultat en premier, puis constats lisibles. */
.fiche-page { max-width:1140px; margin:0 auto; }
.fiche-page .fiche-context { margin:.4rem 0 1.25rem; font-size:.8rem; }
.fiche-page .fiche-entete { overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:0; padding:0; border-radius:16px; box-shadow:0 3px 16px #16191e05; }
.fiche-page .fiche-identite { min-width:0; padding:1.8rem 2rem; }
.fiche-page .fiche-entete h1 { margin:.4rem 0 .65rem; font-size:2.15rem; line-height:1.15; letter-spacing:-.045em; }
.fiche-page .fiche-badges { margin:.6rem 0; }
.fiche-page .fiche-site-link { margin:.9rem 0; font-size:.88rem; }
.fiche-key-figures { display:flex; gap:2rem; margin:1.4rem 0 1rem; }
.fiche-key-figures > div { min-width:0; }
.fiche-key-figures dt { color:var(--texte-2); font-size:.72rem; }
.fiche-key-figures dd { margin:.25rem 0 0; font-size:1rem; font-weight:650; color:var(--encre); }
.fiche-page .decision-metrics { width:auto; padding:1.8rem; background:#f8f9fa; border-left:1px solid var(--bord); gap:.65rem; }
.fiche-score-value { display:flex; align-items:baseline; gap:.6rem; color:var(--encre); font-size:3.25rem; font-weight:750; line-height:1.1; letter-spacing:-.05em; }
.fiche-score-value span { color:var(--texte-2); font-size:1rem; font-weight:500; letter-spacing:0; }
.fiche-score-empty { color:var(--encre); font-size:1.6rem; letter-spacing:-.035em; }
.fiche-score-explanation { margin:0; color:var(--texte-2); font-size:.83rem; line-height:1.6; }
.fiche-coverage { display:flex; align-items:center; gap:1rem; padding-top:1rem; margin-top:.3rem; border-top:1px solid var(--bord); }
.fiche-coverage > strong { flex:none; font-size:1.6rem; color:var(--encre); }
.fiche-coverage strong span { font-size:1rem; color:var(--texte-2); font-weight:500; }
.fiche-coverage > span { font-size:.76rem; color:var(--texte-2); }
.fiche-page .recommendation { padding:.65rem 0; border:0; background:none; }
.fiche-page .fiche-indicateurs .metric-compact { margin:.65rem 0; }
.fiche-page .fiche-decision-task { margin:1.1rem 0 .5rem; padding:1.25rem 1.5rem; background:#fffaf3; border:1px solid #eddfc8; border-left:4px solid var(--cuivre); border-radius:12px; box-shadow:none; backdrop-filter:none; grid-template-columns:minmax(0,1fr); }
.fiche-page .fiche-task-copy h2 { margin:.2rem 0 .5rem; font-size:1.12rem; letter-spacing:-.015em; }
.fiche-page .fiche-task-copy p { max-width:850px; font-size:.86rem; line-height:1.65; }
.fiche-page .fiche-task-actions { max-width:none; justify-content:flex-start; gap:.65rem; }
.fiche-page .fiche-task-actions .btn { min-height:40px; font-size:.8rem; }
.fiche-page .fiche-secondary-tools { margin:.65rem 0 1.75rem; }
.fiche-page .fiche-secondary-tools > summary { font-size:.74rem; }
.fiche-action-feedback { grid-column:1/-1; margin:0; font-size:.85rem; }
.fiche-qualification-rapide { margin:1.75rem 0; scroll-margin-top:85px; }
.fiche-qualification-rapide .section-heading { align-items:center; margin:0 0 .6rem; }
.fiche-qualification-rapide h2 { margin:.25rem 0; font-size:1.25rem; text-transform:none; letter-spacing:-.02em; color:var(--encre); }
.fiche-section-intro { max-width:860px; margin:.5rem 0; color:var(--texte-2); font-size:.87rem; line-height:1.6; }
.qualification-rapid-evidence { margin:1.1rem 0; overflow:hidden; border:1px solid var(--bord); border-radius:12px; background:#fff; }
.qualification-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:1.3rem; padding:1.4rem 1.5rem; }
.qualification-result + .qualification-result { border-top:1px solid var(--bord); }
.qualification-result-heading h3,.qualification-result > h3 { margin:0 0 .6rem; font-size:.94rem; line-height:1.5; color:var(--encre); }
.qualification-result > p { margin:0; color:var(--texte-2); font-size:.86rem; line-height:1.7; }
.qualification-verdict { display:inline-block; padding:.16rem .5rem; border-radius:5px; background:var(--orange-doux); color:#87580e; font-size:.68rem; font-weight:650; }
.est-documente .qualification-verdict { background:var(--vert-doux); color:var(--vert); }
.est-defavorable .qualification-verdict { background:var(--rouge-doux); color:var(--rouge); }
.qualification-result blockquote { grid-column:2; margin:0; padding-left:.8rem; border-left:2px solid var(--cuivre-bord); color:var(--texte-2); font-size:.82rem; }
.qualification-result > a { grid-column:2; font-size:.78rem; }
.fiche-page .fiche-details-section { padding:1.15rem 1.4rem; border-radius:12px; }
.fiche-evidence-note { padding:.85rem 1rem; border-radius:8px; background:var(--fond); color:var(--texte-2); font-size:.83rem; }
.fiche-page .critere { box-shadow:none; }
.fiche-page .critere-question { color:var(--texte-2); font-size:.84rem; }
.fiche-page .critere-corps blockquote { margin:.8rem 0; padding-left:1rem; border-left:2px solid var(--cuivre-bord); }
.fiche-source-list { padding:0; list-style:none; }
.fiche-source-list li { padding:.6rem 0; border-top:1px solid var(--bord); overflow-wrap:anywhere; }
.fiche-source-list a { font-size:.8rem; }
.fiche-source-list small { display:block; color:var(--texte-2); }
@media(max-width:760px) {
  .fiche-page .fiche-entete { grid-template-columns:1fr; }
  .fiche-page .fiche-identite { padding:1.4rem; }
  .fiche-page .decision-metrics { padding:1.3rem 1.4rem; border-left:0; border-top:1px solid var(--bord); }
  .fiche-key-figures { gap:1rem; flex-wrap:wrap; }
  .fiche-page .fiche-decision-task { padding:1rem 1.15rem; }
  .qualification-result { grid-template-columns:1fr; gap:.5rem; padding:1.15rem; }
  .qualification-result blockquote,.qualification-result > a { grid-column:1; }
  .fiche-qualification-rapide .section-heading { align-items:flex-start; gap:.6rem; flex-direction:column; }
  .fiche-page .fiche-details-section > summary { flex-wrap:wrap; }
  .fiche-page .critere summary { flex-wrap:wrap; gap:.5rem; }
  .fiche-page .pastille-verdict { white-space:normal; }
}
.fiche-legal-name,.fiche-site-link { margin:.25rem 0; color:var(--texte-2); font-size:.82rem; }
.fiche-site-link { margin:.65rem 0; }
.fiche-identity-details > summary,.fiche-indicateurs > summary { color:var(--texte-2); cursor:pointer; font-size:.73rem; }
.fiche-identity-details[open] { margin-top:.8rem; }
.fiche-timing-label { margin:.45rem 0; color:var(--texte-2); font-size:.78rem; }
.fiche-indicateurs[open] .metric-compact { margin-top:.6rem; }
.fiche-business-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.fiche-business-proof { margin:0; padding:1rem 1.2rem; }
.fiche-business-proof h3 { margin:0 0 .6rem; font-size:1rem; }
.fiche-business-proof p { margin:.4rem 0; line-height:1.55; }
.fiche-business-proof blockquote { margin:.65rem 0; padding:.2rem 0 .2rem .7rem; border-left:3px solid var(--cuivre-bord); color:var(--texte-2); font-size:.8rem; line-height:1.5; }
.fiche-business-proof small { display:block; color:var(--texte-2); line-height:1.5; }
.fiche-business-proof a { font-size:.78rem; }
.fiche-business-proof.est-manquante { background:var(--fond); border-style:dashed; }
.fiche-qualification-limit { margin:.75rem 0 1rem; padding:.7rem 1rem; border-left:3px solid var(--orange); background:var(--orange-doux); font-size:.8rem; }
.fiche-details-section { margin:1rem 0; padding:1rem; border:1px solid var(--bord); border-radius:10px; background:#fff; }
.fiche-details-section > summary { display:flex; justify-content:space-between; gap:1rem; cursor:pointer; color:var(--encre); font-weight:700; }
.fiche-details-section > summary::before { content:'›'; color:var(--cuivre); }
.fiche-details-section[open] > summary::before { content:'⌄'; }
.fiche-details-section > summary span { margin-left:auto; color:var(--texte-2); font-size:.75rem; font-weight:400; }
.fiche-details-section[open] > summary { margin-bottom:1rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}

@media (min-width:901px) and (max-width:1100px) {
  .entete-interieur { gap:.8rem; padding-inline:1rem; }
  .entete-marque small { display:none; }
  .entete-nav a { padding-inline:.45rem; font-size:.8rem; }
  .entete-user { gap:.45rem; }
  .entete-compte-nom { display:none; }
}

/* La file de décision a besoin de toute la largeur avant le passage mobile. */
@media (max-width:1180px) {
  .decision-command-layout { grid-template-columns:1fr; }
  .decision-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
  .decision-state-card { position:static; margin:0; }
  .decision-result-card { margin:0; }
  .decision-row { grid-template-columns:minmax(195px,1.15fr) minmax(145px,.8fr) minmax(190px,1fr) 140px; grid-template-rows:auto auto; }
  .decision-evidence-state { grid-column:2/4; grid-row:2; }
  .decision-row-action { grid-column:4; grid-row:1/3; }
}

@media (max-width: 900px) {
  html, body { overflow-x: hidden; }
  .entete { height:auto; position:static; }
  .entete-interieur { flex-wrap:wrap; height:auto; padding:.55rem 1rem; gap:.55rem 1rem; }
  .entete-nav { flex:0 0 100%; flex-wrap: wrap; order: 3; width: 100%; }
  .entete-user { margin-left:auto; }
  .entete-compte-nom { display:none; }
  .compte-grid { grid-template-columns:1fr; }
  .fiche-entete { flex-direction: column; }
  .fiche-actions { position: static; margin-top: 0; }
  .metrics-grid { grid-template-columns:repeat(2,1fr); }
  .decision-metrics { width:100%; }
  .decision-brief, .decision-columns, .pilotage-grid,.dashboard-main-grid { grid-template-columns:1fr; }
  .journal-summary-grid { grid-template-columns:minmax(0,1fr); }
  .suivi-form { grid-template-columns:1fr 1fr; }
  .entete-nav { overflow-x:auto; flex-wrap:nowrap; padding:.38rem 0 .2rem; border-top:1px solid rgba(255,255,255,.07); scrollbar-width:thin; }
  .entete-nav a { flex:none; }
  .question-row { grid-template-columns:1fr; gap:.35rem; }
  .feedback-list > div { grid-template-columns:1fr; gap:.2rem; }
  .intent-compose { grid-template-columns:1fr; }
  .btn-analyse-naf { min-height:64px; }
  .naf-proposal-list { grid-template-columns:1fr; }
  .confirmed-scope { grid-template-columns:1fr; gap:.55rem; }
  .source-funnel { grid-template-columns:1fr; }
  .source-arrow { transform:rotate(90deg); justify-self:center; }
  .univers-layout { grid-template-columns:1fr; }
  .univers-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .univers-sidebar > .carte { margin:0; }
  .univers-state-card { position:static; }
  .univers-mission { grid-template-columns:44px minmax(0,1fr); }
  .univers-mission-output { grid-column:2; }
  .pipeline-command-layout { grid-template-columns:1fr; }
  .pipeline-state-card { position:static; }
  .decision-mission { grid-template-columns:44px minmax(0,1fr); }
  .decision-mission-output { grid-column:2; }
  .decision-command-layout { grid-template-columns:1fr; }
  .decision-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
  .decision-state-card { position:static; margin:0; }
  .decision-result-card { margin:0; }
  .decision-row { grid-template-columns:minmax(195px,1.15fr) minmax(145px,.8fr) minmax(190px,1fr) 140px; grid-template-rows:auto auto; }
  .decision-evidence-state { grid-column:2/4; grid-row:2; }
  .decision-row-action { grid-column:4; grid-row:1/3; }
  .fiche-decision-task { position:static; grid-template-columns:1fr; }
  .fiche-task-actions { justify-content:flex-start; max-width:none; }
  .pipeline-state-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pipeline-mission { grid-template-columns:44px minmax(0,1fr); }
  .pipeline-mission-output { grid-column:2; }
  .pipeline-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.09); }
  .pipeline-process li { border:0; border-radius:0 !important; }
  .budget-heading { align-items:flex-start; flex-direction:column; }
  .cost-summary { margin-left:0; border-left:0; border-top:1px solid var(--cuivre-bord); width:100%; padding-left:0; }
  .grille-overview { grid-template-columns:1fr; }
  .grille-overview-intro { min-height:0; }
  .grille-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grille-flow-card { min-height:105px; }
  .grille-workspace { grid-template-columns:1fr; }
  .grille-toolbar { top:.5rem; }
  .grille-sidebar-sticky { position:static; }
  .grille-criteria-section { scroll-margin-top:85px; }
  .terrain-journey { grid-template-columns:1fr; gap:.55rem; }
  .terrain-journey-heading { display:flex; gap:.5rem; align-items:baseline; }
  .terrain-editor-layout { grid-template-columns:1fr; }
  .terrain-next-card { position:static; }
  .pilotage-learning { grid-template-columns:1fr; }
  .pilotage-feedback { grid-column:auto; }
  .page-entete-actions { flex:1 0 100%; justify-content:flex-end; }
  .carte-table th:first-child,.carte-table td:first-child,.table-shell th:first-child,.table-shell td:first-child { position:sticky; left:0; z-index:1; background:var(--surface); box-shadow:1px 0 0 var(--bord); }
  .carte-table th:first-child,.table-shell th:first-child { z-index:2; background:#FAFBFB; }
}

@media (max-width: 760px) {
  .fiche-business-grid { grid-template-columns:1fr; }
  .decision-help > summary span { display:none; }
  .decision-mission { grid-template-columns:40px minmax(0,1fr); padding:.9rem; }
  .decision-mission-index { width:40px; height:40px; }
  .decision-mission-output { grid-column:1/-1; }
  .decision-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .decision-queue-tabs { display:flex; overflow-x:auto; scrollbar-width:thin; }
  .decision-queue-tabs a { min-width:125px; flex:1 0 auto; }
  .decision-queue-heading { align-items:flex-start; flex-direction:column; }
  .decision-funnel-summary { grid-template-columns:1fr; }
  .decision-filters { grid-template-columns:1fr; align-items:stretch; }
  .decision-search svg { bottom:.68rem; }
  .decision-list { display:grid; gap:.7rem; padding:.75rem; background:var(--fond); }
  .decision-list > li { overflow:hidden; border:1px solid var(--bord); border-radius:10px; background:#fff; box-shadow:var(--ombre-1); }
  .decision-row,.decision-row.est-en-retard { display:block; padding:0; background:#fff; }
  .decision-row.decision-row-a_decider,.decision-row.decision-row-a_clarifier { padding:0; }
  .decision-row-a_decider .decision-recommendation,.decision-row-a_clarifier .decision-recommendation { padding-left:.8rem; }
  .decision-company,.decision-recommendation,.decision-record,.decision-row-metrics,.decision-evidence-state,.decision-reason,.decision-row-action { display:block; padding:.7rem .8rem; border-bottom:1px solid var(--fond); }
  .decision-company { display:grid; padding:.8rem; background:#FAFBFB; }
  .decision-company h3 a { font-size:.82rem; white-space:normal; }
  .decision-row-metrics { display:grid; grid-template-columns:repeat(3,1fr); }
  .decision-evidence-state,.decision-row-action { grid-column:auto; grid-row:auto; }
  .decision-row-action { border-bottom:0; }
  .decision-row-action .btn { width:100%; min-height:42px; }
  .decision-pagination { align-items:flex-start; flex-direction:column; }
  .decision-pagination > div { width:100%; justify-content:space-between; }
  .decision-sidebar { grid-template-columns:1fr; }
  .decision-metric-guide,.decision-recommendation-guide,.decision-technical-grid { grid-template-columns:1fr; }
  .decision-after-guide { align-items:flex-start; flex-direction:column; }
  .decision-secondary-details > summary { align-items:flex-start; }
  .decision-secondary-details > summary > span { white-space:nowrap; }
  .fiche-task-actions { align-items:stretch; flex-direction:column; }
  .fiche-task-actions .btn { width:100%; min-height:42px; }
  .fiche-secondary-tools > div { flex-direction:column; }
  .fiche-secondary-tools .btn { width:100%; }
  .decision-dialog { width:calc(100vw - 1rem); max-height:calc(100vh - 1rem); overflow:auto; }
  .decision-dialog-inner { padding:1rem; }
  .pipeline-table-shell { padding:.75rem; overflow:visible; background:var(--fond); }
  .pipeline-table-shell table,.pipeline-table-shell tbody { display:block; min-width:0; background:transparent; }
  .pipeline-table-shell thead { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .pipeline-table-shell tbody { display:grid; gap:.7rem; }
  .pipeline-table-shell tr.pipeline-row { position:relative; display:block; overflow:hidden; border:1px solid var(--bord); border-radius:10px; background:#fff; box-shadow:var(--ombre-1); }
  .pipeline-table-shell tr.pipeline-row.est-erreur { border-color:var(--rouge-bord); }
  .pipeline-table-shell td { display:grid; grid-template-columns:105px minmax(0,1fr); gap:.65rem; align-items:center; width:auto !important; min-width:0; padding:.55rem .75rem; border-bottom:1px solid var(--fond); text-align:left; }
  .pipeline-table-shell td::before { content:attr(data-label); color:var(--texte-2); font-size:.56rem; font-weight:720; letter-spacing:.045em; text-transform:uppercase; }
  .pipeline-table-shell td:last-child { border-bottom:0; }
  .pipeline-table-shell .pipeline-company-cell { display:block; padding:.8rem 3rem .7rem .85rem; background:#FAFBFB; }
  .pipeline-company-cell::before { display:none; }
  .pipeline-company-cell > a strong { max-width:none; font-size:.82rem; white-space:normal; }
  .pipeline-table-shell .pipeline-select-cell { position:absolute; z-index:2; top:.72rem; right:.7rem; display:block; padding:0; border:0; background:transparent; }
  .pipeline-select-cell::before { display:none; }
  .pipeline-selection-unavailable { display:none; }
  .pipeline-row-status,.pipeline-row-status > small { max-width:none; min-width:0; }
  .pipeline-table-metric { display:flex; align-items:center; gap:.55rem; min-width:0; }
  .pipeline-table-metric strong { margin:0; }
  .pipeline-table-metric > span { flex:1; width:auto; }
  .pipeline-metric-empty { max-width:none; }
  .pipeline-row-action .btn { width:100%; min-height:38px; }
  .pipeline-table-shell .etat-vide { display:block; padding:2rem 1rem; border:1px solid var(--bord); border-radius:10px; background:#fff; }
}

@media (max-width: 560px) {
  body { font-size:14px; }
  .contenu { margin-top:1.1rem; padding:0 .9rem; }
  .entete-compte-menu { position:fixed; top:54px; right:.75rem; width:min(285px,calc(100vw - 1.5rem)); }
  .metrics-grid { grid-template-columns:1fr; }
  .suivi-form { grid-template-columns:1fr; }
  .suivi-form .span-2 { grid-column:auto; }
  .vertical-selector { align-items:flex-start; flex-direction:column; }
  .vertical-selector select { min-width:0; width:100%; }
  .intent-panel,.propositions-panel,.next-step { padding:1rem; }
  .clarification-panel { margin:0 1rem 1rem; }
  .manual-naf > summary { padding:.8rem 1rem; }
  .manual-naf-body { padding:0 1rem 1rem; }
  .confirmed-scope { padding:1rem; }
  .propositions-panel .section-heading,.proposal-confirm { align-items:flex-start; flex-direction:column; }
  .reference-guard { align-self:flex-start; }
  .proposal-confirm .btn,.universe-actions .btn { width:100%; }
  .universe-actions { align-items:stretch; flex-direction:column; }
  .universe-actions #estimation-resultat { order:-1; }
  .univers-mission { grid-template-columns:36px minmax(0,1fr); gap:.75rem; padding:.9rem; }
  .univers-mission-index { width:36px; height:36px; }
  .univers-mission-output { grid-column:1/-1; }
  .pipeline-mission { grid-template-columns:36px minmax(0,1fr); gap:.75rem; padding:.9rem; }
  .pipeline-mission-index { width:36px; height:36px; }
  .pipeline-mission-output { grid-column:1/-1; }
  .pipeline-command-heading { align-items:flex-start; flex-direction:column; padding:1rem; }
  .pipeline-live-state { align-self:flex-start; }
  .pipeline-process { grid-template-columns:1fr; margin:0 1rem; padding:0; }
  .pipeline-process li { min-height:64px; }
  .pipeline-command-footer { align-items:stretch; flex-direction:column; padding:1rem; }
  .pipeline-command-actions { align-items:stretch; flex-direction:column; }
  .pipeline-command-actions .btn { width:100%; min-height:42px; white-space:normal; text-align:center; }
  .pipeline-error-banner { align-items:flex-start; flex-wrap:wrap; }
  .pipeline-error-banner > div { min-width:calc(100% - 44px); }
  .pipeline-error-banner .btn { width:100%; }
  .pipeline-import-scope { align-items:flex-start; flex-wrap:wrap; }
  .pipeline-import-scope > div { min-width:calc(100% - 44px); }
  .pipeline-import-scope .btn { width:100%; }
  .pipeline-explorer-heading { align-items:flex-start; flex-direction:column; }
  .pipeline-results-count { align-self:flex-start; }
  .pipeline-toolbar { align-items:stretch; flex-direction:column; }
  .pipeline-search { grid-template-columns:18px minmax(0,1fr); width:100%; }
  .pipeline-search > span { display:none; }
  .pipeline-filter-details { width:100%; margin:0; }
  .pipeline-filter-details > summary { justify-content:space-between; min-height:42px; }
  .pipeline-filter-fields { position:static; grid-template-columns:1fr; width:100%; margin-top:.45rem; box-shadow:none; }
  .pipeline-reset { align-self:flex-start; }
  .pipeline-selection-bar { align-items:stretch; flex-direction:column; }
  .pipeline-selection-bar > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
  .pipeline-selection-bar .btn { width:100%; white-space:normal; }
  .pipeline-pagination { align-items:stretch; flex-direction:column; }
  .pipeline-pagination > div { display:grid; grid-template-columns:1fr 1fr; }
  .pipeline-pagination .btn { width:100%; }
  .pipeline-secondary-details > summary { align-items:flex-start; }
  .pipeline-summary-meta { white-space:normal; text-align:right; }
  .pipeline-secondary-details > summary small { display:none; }
  .pipeline-explanation-grid,.pipeline-metric-guide { grid-template-columns:1fr; }
  .pipeline-metric-guide > p { grid-column:auto; }
  .pipeline-dialog-summary { grid-template-columns:1fr; }
  .pipeline-dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
  .pipeline-dialog-actions .btn { width:100%; }
  .pipeline-state-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .univers-mini-progress li { padding:.62rem .5rem; gap:.4rem; }
  .univers-mini-progress li > span { width:23px; height:23px; }
  .univers-step-head { grid-template-columns:31px minmax(0,1fr); gap:.65rem; padding:1rem; }
  .univers-step-number { width:30px; height:30px; }
  .univers-step-state { grid-column:2; justify-self:start; align-self:start; }
  .univers-step-lock { margin:0 1rem 1rem; }
  .univers-step-body { padding:0 1rem 1rem; }
  .intent-actions { align-items:stretch; flex-direction:column; }
  .intent-actions .btn { width:100%; }
  .propositions-panel { margin:0 1rem 1rem; }
  .collection-truth { grid-template-columns:1fr; }
  .collection-truth > span { justify-self:center; transform:rotate(90deg); }
  .univers-collection-fields,.univers-paired-fields,.ca-reference-grid,.univers-estimate-metrics { grid-template-columns:1fr; }
  .univers-settings-heading,.pappers-option-head { align-items:flex-start; flex-direction:column; }
  .univers-settings-heading .btn { width:100%; }
  .pappers-option-head .switch-row { align-self:flex-start; }
  .univers-import-actions { align-items:stretch; flex-direction:column-reverse; }
  .univers-import-actions .btn { width:100%; min-height:42px; height:auto; white-space:normal; line-height:1.35; text-align:center; }
  .univers-sidebar { grid-template-columns:1fr; }
  .univers-dialog-summary { grid-template-columns:1fr; }
  .univers-estimate-head { align-items:flex-start; flex-direction:column; gap:.55rem; }
  .univers-estimate-head .badge { align-self:flex-start; }
  .univers-dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
  .univers-dialog-actions .btn { width:100%; }
  .univers-secondary-details > summary { align-items:flex-start; }
  .univers-summary-meta { white-space:normal; text-align:right; }
  .verticale-card { align-items:flex-start; flex-direction:column; }
  .vertical-meta { text-align:left; }
  .fiche-identite { min-width:0; }
  .fiche-context { align-items:flex-start; flex-direction:column; }
  .fiche-actions .btn { flex:1 1 auto; }
  .grille-page-entete { align-items:stretch; }
  .grille-titre { min-width:0; }
  .grille-titre-ligne h1 { font-size:1.4rem; }
  .grille-page-entete .separateur { display:none; }
  .grille-selecteur-verticale { width:100%; align-items:flex-start; flex-direction:column; gap:.25rem; padding:.55rem .65rem; }
  .grille-selecteur-verticale select { width:100%; min-width:0; }
  .grille-archive-banner { align-items:flex-start; flex-wrap:wrap; }
  .grille-archive-banner > div { min-width:calc(100% - 46px); }
  .grille-archive-banner .btn { width:100%; }
  .grille-overview-intro { padding:1.15rem; }
  .grille-terrain-context { align-items:flex-start; flex-direction:column; }
  .grille-overview-stats > div { padding:.55rem .45rem; }
  .grille-flow { grid-template-columns:1fr; }
  .grille-flow-card { min-height:88px; }
  .grille-toolbar { flex-wrap:wrap; }
  .grille-search { flex:1 0 100%; }
  .grille-resultats { flex:1; }
  .grille-section-header { grid-template-columns:38px 1fr; padding:.85rem; }
  .grille-section-icon { width:38px; height:38px; }
  .grille-section-count { grid-column:1/-1; justify-self:start; margin-left:calc(38px + .85rem); }
  .grille-criterion-head { grid-template-columns:1fr auto; gap:.7rem; padding:.75rem .8rem .75rem .95rem; }
  .grille-switch { grid-column:1; grid-row:1; }
  .grille-weight { grid-column:2; grid-row:1; min-width:110px; }
  .grille-criterion-summary { grid-column:1/-1; grid-row:2; }
  .grille-criterion-summary p { display:-webkit-box; overflow:hidden; white-space:normal; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .grille-criterion-details > summary { padding:.55rem .8rem .55rem .95rem; }
  .grille-criterion-details > summary small { display:none; }
  .grille-criterion-fields { padding:.85rem .9rem 1rem; }
  .grille-field-grid { grid-template-columns:1fr; gap:.75rem; }
  .grille-field-label { align-items:flex-start; flex-direction:column; gap:.1rem; }
  .grille-subsection-heading { align-items:flex-start; flex-direction:column; gap:.1rem; }
  .grille-auto-heading { grid-template-columns:34px 1fr; }
  .grille-auto-lock { grid-column:2; justify-self:start; }
  .grille-auto-range { grid-template-columns:1fr; gap:.65rem; }
  .grille-auto-separator { display:none; }
  .grille-advanced > div { grid-template-columns:auto 1fr; }
  .grille-dirty-bar { bottom:.65rem; align-items:stretch; flex-direction:column; gap:.55rem; }
  .grille-dirty-bar > div { justify-content:space-between; }
  .grille-dirty-bar > div:last-child .btn { flex:1; }
  .modale-fond { align-items:flex-end; }
  .modale-grille { width:100%; max-height:92vh; border-radius:14px 14px 0 0; padding:1.2rem 1rem max(1rem,env(safe-area-inset-bottom)); }
  .publication-recap { grid-template-columns:1fr; gap:.4rem; }
  .grille-mode-picker { grid-template-columns:1fr; }
  .terrain-page-selector { width:100%; align-items:flex-start; flex-direction:column; gap:.25rem; padding:.55rem .65rem; }
  .terrain-page-selector select { width:100%; min-width:0; }
  .pilotage-header-actions { width:100%; align-items:stretch; flex-direction:column; }
  .pilotage-header-actions .btn { width:100%; }
  .terrain-mission { grid-template-columns:36px minmax(0,1fr); gap:.75rem; padding:.9rem; }
  .terrain-mission-index { width:36px; height:36px; }
  .terrain-mission-time { grid-column:2; justify-self:start; }
  .terrain-editor-head { align-items:stretch; flex-direction:column; gap:.8rem; padding:1rem; }
  .terrain-completion { width:100%; }
  .terrain-fields { padding-inline:1rem; }
  .terrain-field { grid-template-columns:28px minmax(0,1fr); gap:.6rem; }
  .terrain-field-number { width:26px; height:26px; }
  .terrain-advanced > summary { padding-inline:1rem; }
  .terrain-advanced-body { padding:0 1rem 1rem; }
  .terrain-editor-footer { align-items:stretch; flex-direction:column; padding:1rem; }
  .terrain-editor-footer .btn { width:100%; }
  .pilotage-secondary-panel > summary { align-items:flex-start; }
  .pilotage-summary-meta { white-space:normal; text-align:right; }
  .pilotage-secondary-panel > summary small { display:none; }
  .terrain-portfolio-row { align-items:flex-start; flex-direction:column; }
  .terrain-portfolio-row small { white-space:normal; }
  .terrain-portfolio-actions { width:100%; justify-content:space-between; }
  .pilotage-learning .section-heading { align-items:flex-start; flex-direction:column; }
  .pilotage-learning .section-heading .btn { width:100%; }
  .propositions-grid { grid-template-columns:1fr; }
  .page-entete-actions { align-items:stretch; flex-direction:column; }
  .page-entete-actions .btn { width:100%; }
  .terrain-journey ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem; }
  .terrain-journey li:not(:last-child)::after { display:none; }
  .terrain-journey li:last-child { grid-column:1/-1; }
  .journey-context-banner,.grille-published-banner,.pipeline-arrival-banner { align-items:flex-start; flex-wrap:wrap; }
  .journey-context-banner > div,.grille-published-banner > div { min-width:calc(100% - 44px); }
  .journey-context-banner .btn,.grille-published-banner .btn,.pipeline-arrival-banner .btn { width:100%; }
  .modale-grille .modale-actions { position:sticky; bottom:0; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; padding-top:.65rem; background:var(--surface); }
  .modale-grille .modale-actions .btn { width:100%; }
}

@media (max-width:420px) {
  .entete-interieur { padding-inline:.8rem; }
  .entete-marque small { display:none; }
  .entete-marque { gap:.45rem; }
  .entete-user { gap:.4rem; }
  .entete-outils summary { padding-inline:.45rem; }
  .entete-outils-menu { position:fixed; top:54px; right:.75rem; width:min(270px,calc(100vw - 1.5rem)); }
}

/* ============================================================
   Impression : fiche présentable en PDF via le navigateur
   ============================================================ */
@media print {
  .no-print, .entete, .fiche-actions, .btn, .modale-fond, #zone-toasts, .grille-toolbar, .grille-sidebar, .grille-dirty-bar { display: none !important; }
  body { background: #fff; font-size: 11.5px; color: #000; }
  .contenu { max-width: none; margin: 0; padding: 0; }
  .carte, .critere { border: 1px solid #999; break-inside: avoid; box-shadow: none; }
  .critere { border-left-width: 3px; }
  .critere-corps { display: block !important; }
  .decision-limits-details > .questions-card-body { display:block !important; }
  .score-anneau { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .badge { border: 1px solid #999; }
  a { color: #000; }
  .fait .source a::after { content: " (" attr(href) ")"; font-size: .72em; color: #444; word-break: break-all; }
}

/* ============================================================
   Analyse — préflight financier et pilotage des lots
   ============================================================ */
.pipeline-admin-note {
  align-self:center; max-width:260px; color:var(--texte-2); font-size:.78rem;
  text-align:right; line-height:1.35;
}
.pipeline-batch-control {
  margin:1rem 0; overflow:hidden; border-color:var(--cuivre-bord);
  box-shadow:0 1px 2px rgba(22,25,30,.05),0 12px 32px rgba(180,98,45,.07);
}
.pipeline-batch-heading {
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding:1.15rem 1.25rem .95rem; border-bottom:1px solid var(--bord);
  background:linear-gradient(135deg,#fff 0%,#fffaf6 100%);
}
.pipeline-batch-heading h2 {
  margin:.12rem 0 .2rem; color:var(--encre); font-size:1.12rem; letter-spacing:-.015em;
  text-transform:none;
}
.pipeline-batch-heading p { margin:0; color:var(--texte-2); font-size:.82rem; }
.pipeline-batch-switcher { display:flex; align-items:flex-end; gap:.55rem; flex:none; }
.pipeline-batch-switcher label { display:grid; gap:.2rem; min-width:185px; color:var(--texte-2); font-size:.62rem; font-weight:700; }
.pipeline-batch-switcher select { max-width:250px; height:34px; border:1px solid var(--bord-fort); border-radius:7px; padding:0 1.8rem 0 .55rem; background:#fff; color:var(--encre); font-size:.72rem; }
.pipeline-batch-status {
  flex:none; display:inline-flex; align-items:center; gap:.38rem; padding:.34rem .62rem;
  border:1px solid var(--bleu-bord); border-radius:999px; color:var(--bleu);
  background:var(--bleu-doux); font-size:.7rem; font-weight:750;
}
.pipeline-batch-status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.pipeline-batch-status.est-en-cours { color:var(--cuivre); background:var(--cuivre-doux); border-color:var(--cuivre-bord); }
.pipeline-batch-status.est-en-pause,.pipeline-batch-status.est-en-pause-budget { color:var(--orange); background:var(--orange-doux); border-color:var(--orange-bord); }
.pipeline-batch-status.est-termine { color:var(--vert); background:var(--vert-doux); border-color:var(--vert-bord); }
.pipeline-batch-status.est-annule,.pipeline-batch-status.est-echec { color:var(--rouge); background:var(--rouge-doux); border-color:var(--rouge-bord); }
.pipeline-batch-main { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr); }
.pipeline-batch-main.sans-cout { grid-template-columns:1fr; }
.pipeline-batch-progress-block,.pipeline-batch-cost-block { padding:1.15rem 1.25rem; }
.pipeline-batch-cost-block { border-left:1px solid var(--bord); background:#fafbfc; }
.pipeline-batch-progress-copy { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.pipeline-batch-progress-copy strong { color:var(--encre); font-size:1rem; }
.pipeline-batch-progress-copy span { color:var(--texte-2); font-size:.76rem; text-align:right; }
.pipeline-batch-progress {
  height:10px; margin:.7rem 0 1rem; overflow:hidden; border-radius:999px; background:#e9edf1;
}
.pipeline-batch-progress > span {
  display:block; width:0; height:100%; border-radius:inherit;
  background:linear-gradient(90deg,var(--cuivre),var(--cuivre-vif)); transition:width .35s ease;
}
.pipeline-batch-counters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.pipeline-batch-counters > div { padding:0 .75rem; border-left:1px solid var(--bord); }
.pipeline-batch-counters > div:first-child { padding-left:0; border-left:0; }
.pipeline-batch-counters dt { color:var(--texte-2); font-size:.68rem; }
.pipeline-batch-counters dd { margin:.08rem 0 0; color:var(--encre); font:750 1rem var(--mono); }
.pipeline-batch-cost-block > span { color:var(--texte-2); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.pipeline-batch-cost-block > strong { display:block; margin:.25rem 0; color:var(--encre); font-size:1rem; }
.pipeline-batch-cost-track { height:7px; margin:.65rem 0 .5rem; overflow:hidden; border-radius:999px; background:#e7eaee; }
.pipeline-batch-cost-track span { display:block; width:0; height:100%; background:var(--cuivre); transition:width .35s ease; }
.pipeline-batch-cost-block > small { display:block; font-size:.72rem; line-height:1.4; }
.pipeline-batch-cost-block > a { display:inline-block; margin-top:.55rem; font-size:.74rem; font-weight:650; }
.pipeline-batch-cap-adjust { margin-top:.75rem; padding-top:.65rem; border-top:1px solid var(--bord); }
.pipeline-batch-cap-adjust > label { display:block; margin-bottom:.28rem; color:var(--texte-2); font-size:.68rem; font-weight:650; }
.pipeline-batch-cap-adjust > span { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.35rem; }
.pipeline-batch-cap-adjust input { width:100%; height:35px; border:1px solid var(--bord-fort); border-radius:7px; padding:.35rem .5rem; font:650 .82rem var(--mono); }
.pipeline-batch-alert { margin:0 1.25rem .85rem; padding:.68rem .8rem; border:1px solid var(--orange-bord); border-radius:8px; background:var(--orange-doux); color:#7c4b09; font-size:.78rem; }
.pipeline-batch-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1.25rem; border-top:1px solid var(--bord); background:#fafbfc; }
.pipeline-batch-actions > span { color:var(--texte-2); font-size:.72rem; }
.pipeline-batch-actions > div { display:flex; align-items:center; gap:.45rem; }
.btn-lien-danger { border-color:transparent; background:transparent; color:var(--rouge); box-shadow:none; }
.btn-lien-danger:hover { border-color:var(--rouge-bord); background:var(--rouge-doux); }

.pipeline-preflight-dialog { width:min(880px,calc(100vw - 2rem)); max-height:min(92vh,900px); overflow:hidden; }
.pipeline-preflight-dialog .pipeline-dialog-inner { display:flex; flex-direction:column; max-height:min(92vh,900px); padding:1.45rem; }
.pipeline-preflight-dialog .pipeline-preflight-content:not(.cache) { min-height:0; flex:1 1 auto; overflow-y:auto; padding-right:.25rem; scrollbar-gutter:stable; }
.pipeline-preflight-dialog .pipeline-dialog-actions { flex:none; margin:.75rem 0 0; padding-top:.75rem; border-top:1px solid var(--bord); background:#fff; }
.pipeline-preflight-loading { display:flex; align-items:center; gap:.8rem; min-height:100px; margin:1rem 0; padding:1rem; border:1px dashed var(--bord-fort); border-radius:9px; background:#fafbfc; }
.pipeline-preflight-loading .analyse-spinner { width:22px; height:22px; color:var(--cuivre); }
.pipeline-preflight-loading strong,.pipeline-preflight-loading small { display:block; }
.pipeline-preflight-loading small { margin-top:.12rem; font-size:.74rem; }
.pipeline-preflight-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:1rem 0; }
.pipeline-preflight-kpis article { min-width:0; padding:.78rem; border:1px solid var(--bord); border-radius:9px; background:#fafbfc; }
.pipeline-preflight-kpis article > span { display:block; color:var(--texte-2); font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.pipeline-preflight-kpis article > strong { display:block; margin:.25rem 0 .18rem; color:var(--encre); font-size:.95rem; line-height:1.25; }
.pipeline-preflight-kpis article > small { display:block; font-size:.68rem; line-height:1.35; }
.pipeline-preflight-scope { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr); gap:1rem; padding:.85rem; border:1px solid var(--bleu-bord); border-radius:9px; background:var(--bleu-doux); }
.pipeline-preflight-scope > div { display:flex; align-items:flex-start; gap:.65rem; }
.pipeline-preflight-icon { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:8px; background:#fff; color:var(--bleu); font-weight:800; }
.pipeline-preflight-scope strong { color:#244f73; }
.pipeline-preflight-scope p { margin:.13rem 0 0; color:#4d6980; font-size:.74rem; line-height:1.42; }
.pipeline-preflight-scope dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; margin:0; }
.pipeline-preflight-scope dl div { padding:0 .65rem; border-left:1px solid rgba(44,95,138,.18); }
.pipeline-preflight-scope dt { color:#5d7488; font-size:.62rem; }
.pipeline-preflight-scope dd { margin:.05rem 0 0; color:#244f73; font:750 .84rem var(--mono); }
.pipeline-preflight-budget { margin-top:.75rem; padding:.9rem; border:1px solid var(--cuivre-bord); border-radius:9px; background:#fffaf6; }
.pipeline-preflight-budget header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.pipeline-preflight-budget header span { color:var(--cuivre); font-size:.64rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.pipeline-preflight-budget h3 { margin:.08rem 0; font-size:.9rem; }
.pipeline-preflight-budget header > strong { padding:.25rem .5rem; border-radius:999px; background:#fff; color:var(--cuivre); font-size:.68rem; white-space:nowrap; }
.pipeline-budget-meter { position:relative; height:10px; margin:.8rem 0 .45rem; overflow:hidden; border-radius:999px; background:#e5e8ec; }
.pipeline-budget-meter span { position:absolute; top:0; bottom:0; width:0; transition:width .25s; }
#dialog-budget-spent-bar { left:0; background:var(--charbon-600); }
#dialog-budget-reserved-bar { background:#a6adb7; }
#dialog-budget-lot-bar { background:var(--cuivre-vif); }
.pipeline-budget-legend { display:flex; flex-wrap:wrap; gap:.35rem .8rem; color:var(--texte-2); font-size:.67rem; }
.pipeline-budget-legend span { display:inline-flex; align-items:center; gap:.25rem; }
.pipeline-budget-legend i { width:7px; height:7px; border-radius:2px; background:var(--charbon-600); }
.pipeline-budget-legend i.reserved { background:#a6adb7; }
.pipeline-budget-legend i.lot { background:var(--cuivre-vif); }
.pipeline-cap-field { display:grid; grid-template-columns:minmax(0,1fr) 150px; align-items:center; gap:.15rem .8rem; margin-top:.85rem; }
.pipeline-cap-field > span:first-child { color:var(--encre); font-weight:700; }
.pipeline-cap-input { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; overflow:hidden; border:1px solid var(--bord-fort); border-radius:8px; background:#fff; }
.pipeline-cap-input:focus-within { border-color:var(--cuivre); box-shadow:0 0 0 3px rgba(180,98,45,.12); }
.pipeline-cap-input input { width:100%; min-width:0; height:38px; border:0; outline:0; padding:.45rem .55rem; font:750 .9rem var(--mono); }
.pipeline-cap-input b { padding-right:.55rem; color:var(--texte-2); }
.pipeline-cap-field small { grid-column:1/-1; font-size:.67rem; }
.pipeline-budget-honesty { margin:.55rem 0 0; color:var(--texte-2); font-size:.66rem; line-height:1.4; }
.pipeline-preflight-policy { margin:.7rem 0; }
.pipeline-preflight-policy p { margin:.35rem 0; padding:.55rem .65rem; border:1px solid var(--bord); border-radius:7px; font-size:.74rem; }
.pipeline-preflight-policy .est-ok { color:var(--vert); border-color:var(--vert-bord); background:var(--vert-doux); }
.pipeline-preflight-policy .est-avertissement { color:#82510e; border-color:var(--orange-bord); background:var(--orange-doux); }
.pipeline-preflight-policy .est-bloquant { color:var(--rouge); border-color:var(--rouge-bord); background:var(--rouge-doux); }
.pipeline-preflight-dialog .pipeline-dialog-scope-note { margin:.7rem 0; }
.pipeline-cancel-dialog { width:min(570px,calc(100vw - 2rem)); }

@media (max-width:820px) {
  .pipeline-batch-main { grid-template-columns:1fr; }
  .pipeline-batch-cost-block { border-top:1px solid var(--bord); border-left:0; }
  .pipeline-preflight-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pipeline-preflight-scope { grid-template-columns:1fr; }
}

@media (max-width:620px) {
  .pipeline-batch-heading,.pipeline-batch-actions,.pipeline-preflight-budget header { align-items:flex-start; flex-direction:column; }
  .pipeline-batch-switcher { width:100%; align-items:stretch; flex-direction:column-reverse; }
  .pipeline-batch-switcher label,.pipeline-batch-switcher select { width:100%; max-width:none; }
  .pipeline-batch-main > div { padding:1rem; }
  .pipeline-batch-progress-copy { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .pipeline-batch-progress-copy span { text-align:left; }
  .pipeline-batch-counters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 0; }
  .pipeline-batch-counters > div:nth-child(3) { padding-left:0; border-left:0; }
  .pipeline-batch-actions > div { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .pipeline-batch-actions .btn { width:100%; white-space:normal; }
  .pipeline-batch-actions .btn:last-child { grid-column:1/-1; }
  .pipeline-preflight-dialog { width:100vw; max-width:none; max-height:94vh; margin:auto 0 0; border-radius:14px 14px 0 0; }
  .pipeline-preflight-dialog .pipeline-dialog-inner { padding:1.1rem 1rem max(1rem,env(safe-area-inset-bottom)); }
  .pipeline-preflight-kpis { grid-template-columns:1fr; }
  .pipeline-preflight-scope dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pipeline-preflight-scope dl div { padding:0 .4rem; }
  .pipeline-cap-field { grid-template-columns:1fr; }
  .pipeline-cap-input { width:100%; }
  .pipeline-budget-legend { display:grid; grid-template-columns:1fr 1fr; }
  .pipeline-preflight-dialog .pipeline-dialog-actions { display:grid; grid-template-columns:1fr; }
}

/* Entonnoir métier : indépendant des statuts techniques des traitements. */
.qualification-funnel { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
.qualification-funnel > * { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:18px; border:1px solid var(--bord-fort); border-radius:12px; background:var(--surface); color:var(--texte); text-align:left; text-decoration:none; cursor:pointer; }
.qualification-funnel > *:hover { border-color:var(--cuivre); }
.qualification-funnel span { font-size:.75rem; font-weight:700; text-transform:uppercase; color:var(--texte-2); }
.qualification-funnel strong { font-size:1.4rem; }
.qualification-funnel small { color:var(--texte-2); line-height:1.4; }
@media (max-width:1100px) { .qualification-funnel { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:650px) { .qualification-funnel { grid-template-columns:1fr 1fr; } .qualification-funnel > :last-child { grid-column:1/-1; } }

#interlocuteurs { margin-top:22px; }
#interlocuteurs .section-heading { flex-wrap:wrap; gap:14px; }
#interlocuteurs .table-scroll { width:100%; overflow-x:auto; }
#interlocuteurs td { min-width:180px; vertical-align:top; }
#contacts-confirmation { width:min(600px,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); overflow:auto; padding:24px; border:1px solid var(--bord); border-radius:12px; background:var(--surface); box-shadow:var(--ombre-3); }
#contacts-confirmation::backdrop { background:rgba(22,25,30,.64); backdrop-filter:blur(2px); }
#contacts-confirmation h2 { margin:0 0 12px; color:var(--encre); font-size:1.15rem; text-transform:none; letter-spacing:normal; }
#contacts-confirmation .actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:18px; }
#contacts-erreur { color:var(--rouge); }

/* Analyse — cockpit compact et lecture immédiate des entreprises. */
.pipeline-page-entete { margin-bottom:.7rem; }
.qualification-funnel { gap:.45rem; margin:0 0 .8rem; }
.qualification-funnel > * {
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"label count" "hint count";
  gap:.08rem .65rem; align-items:center; min-width:0; padding:.62rem .72rem; border-radius:9px;
}
.qualification-funnel span { grid-area:label; font-size:.6rem; letter-spacing:.045em; }
.qualification-funnel strong { grid-area:count; color:var(--encre); font:760 1.05rem var(--mono); }
.qualification-funnel small { grid-area:hint; overflow:hidden; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }

.pipeline-command-layout { grid-template-columns:minmax(0,1fr) 360px; gap:.75rem; margin-bottom:.8rem; }
.pipeline-command-card {
  border:1px solid var(--bord-fort); border-left:4px solid var(--cuivre); color:var(--encre);
  background:#fff; box-shadow:var(--ombre-1);
}
.pipeline-command-card.est-erreur { border-color:var(--rouge-bord); border-left-color:var(--rouge); }
.pipeline-command-card.est-pause,.pipeline-command-card.est-actualiser { border-color:var(--orange-bord); border-left-color:var(--orange); background:linear-gradient(105deg,#fffaf2,#fff 70%); }
.pipeline-command-card.est-decision,.pipeline-command-card.est-termine { border-color:var(--vert-bord); border-left-color:var(--vert); }
.pipeline-command-heading { padding:.85rem 1rem .72rem; }
.pipeline-command-heading .eyebrow,
.pipeline-command-card.est-erreur .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-pause .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-actualiser .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-decision .pipeline-command-heading .eyebrow { color:var(--cuivre); }
.pipeline-command-card.est-erreur .pipeline-command-heading .eyebrow { color:var(--rouge); }
.pipeline-command-card.est-pause .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-actualiser .pipeline-command-heading .eyebrow { color:#8a570f; }
.pipeline-command-card.est-decision .pipeline-command-heading .eyebrow,
.pipeline-command-card.est-termine .pipeline-command-heading .eyebrow { color:var(--vert); }
.pipeline-command-heading h2 { margin:.08rem 0 .2rem; color:var(--encre); font-size:1.02rem; }
.pipeline-command-heading p { max-width:780px; color:var(--texte-2); font-size:.7rem; line-height:1.45; }
.pipeline-live-state { min-height:27px; border-color:var(--bord); background:var(--fond); color:var(--texte-2); }
.pipeline-live-state .analyse-spinner { border-color:var(--bord-fort); border-top-color:var(--cuivre); }
.pipeline-command-footer { align-items:center; padding:.65rem 1rem; border-top:1px solid var(--bord); background:#fbfbfa; }
.pipeline-command-note { display:flex; align-items:center; gap:.4rem; max-width:560px; margin:0; color:var(--texte-2); font-size:.59rem; line-height:1.35; }
.pipeline-command-note span { display:grid; place-items:center; width:21px; height:21px; flex:none; border-radius:50%; background:var(--bleu-doux); color:var(--bleu); }
.pipeline-command-actions { flex:none; }
.pipeline-command-actions .btn-secondaire { color:var(--encre); border-color:var(--bord-fort); background:#fff; box-shadow:var(--ombre-1); }
.pipeline-command-actions .btn-secondaire:hover { border-color:var(--cuivre); background:var(--cuivre-doux); }

.pipeline-state-card { position:static; padding:.82rem; border-color:var(--bord-fort); box-shadow:var(--ombre-1); }
.pipeline-state-heading h2 { margin:.08rem 0 .55rem; color:var(--encre); font-size:.75rem; text-transform:none; }
.pipeline-state-heading h2 strong { margin-right:.22rem; color:var(--cuivre); font:780 1.18rem var(--mono); }
.pipeline-state-primary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--bord); border-radius:8px; }
.pipeline-state-primary button { min-width:0; padding:.48rem .38rem; border:0; border-left:1px solid var(--bord); background:#fff; cursor:pointer; text-align:center; }
.pipeline-state-primary button:first-child { border-left:0; }
.pipeline-state-primary button:hover { background:var(--fond); }
.pipeline-state-primary span,.pipeline-state-primary strong { display:block; }
.pipeline-state-primary span { overflow:hidden; color:var(--texte-2); font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }
.pipeline-state-primary strong { margin-top:.08rem; color:var(--encre); font:740 .77rem var(--mono); }
.pipeline-state-primary button:nth-child(2) strong { color:var(--bleu); }
.pipeline-state-primary button:nth-child(3) strong { color:var(--vert); }
.pipeline-state-primary button:nth-child(4) strong { color:var(--orange); }
.pipeline-state-details { margin-top:.5rem; }
.pipeline-state-details > summary { display:flex; align-items:center; justify-content:space-between; padding:.34rem .15rem; color:var(--texte-2); font-size:.59rem; font-weight:680; list-style:none; cursor:pointer; }
.pipeline-state-details > summary::-webkit-details-marker { display:none; }
.pipeline-state-details[open] > summary span { transform:rotate(180deg); }
.pipeline-state-list { margin:.3rem 0 .45rem; }
.pipeline-state-list > div { padding:.32rem .4rem; }
.pipeline-state-list dt { font-size:.58rem; }
.pipeline-state-list dd { font-size:.63rem; }
.pipeline-state-links { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.45rem; padding-top:.5rem; border-top:1px solid var(--bord); font-size:.6rem; font-weight:680; }
.pipeline-state-links a { white-space:nowrap; }

.pipeline-batch-control { margin:.75rem 0; }
.pipeline-batch-heading { align-items:center; padding:.72rem .9rem; }
.pipeline-batch-heading h2 { margin:.06rem 0 .08rem; font-size:.94rem; }
.pipeline-batch-heading p { font-size:.66rem; }
.pipeline-batch-main { grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr); }
.pipeline-batch-progress-block { padding:.75rem .9rem; }
.pipeline-batch-progress-copy strong { font-size:.84rem; }
.pipeline-batch-progress-copy span { font-size:.65rem; }
.pipeline-batch-progress { height:7px; margin:.48rem 0 .65rem; }
.pipeline-batch-counters > div { padding:0 .55rem; }
.pipeline-batch-counters dt { font-size:.58rem; }
.pipeline-batch-counters dd { font-size:.78rem; }
.pipeline-batch-cost-block { padding:0; border-left:1px solid var(--bord); background:#fafbfc; }
.pipeline-batch-cost-block > summary { display:flex; align-items:center; justify-content:space-between; gap:.7rem; height:100%; min-height:92px; padding:.7rem .9rem; list-style:none; cursor:pointer; }
.pipeline-batch-cost-block > summary::-webkit-details-marker { display:none; }
.pipeline-batch-cost-block > summary:hover { background:#f7f8f9; }
.pipeline-batch-cost-block > summary div { min-width:0; }
.pipeline-batch-cost-block > summary span,.pipeline-batch-cost-block > summary strong,.pipeline-batch-cost-block > summary small { display:block; }
.pipeline-batch-cost-block > summary span { color:var(--texte-2); font-size:.56rem; font-weight:720; letter-spacing:.06em; text-transform:uppercase; }
.pipeline-batch-cost-block > summary strong { margin:.16rem 0 .08rem; color:var(--encre); font-size:.8rem; }
.pipeline-batch-cost-block > summary small { overflow:hidden; max-width:230px; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
.pipeline-batch-cost-block > summary > b { flex:none; color:var(--cuivre); font-size:.6rem; white-space:nowrap; }
.pipeline-batch-cost-block > summary > b i { display:inline-block; font-style:normal; transition:transform .15s; }
.pipeline-batch-cost-block[open] > summary > b i { transform:rotate(180deg); }
.pipeline-batch-cost-body { padding:.7rem .9rem; border-top:1px solid var(--bord); }
.pipeline-batch-cost-body > a { display:inline-block; margin-top:.35rem; font-size:.65rem; font-weight:650; }
.pipeline-batch-cost-track { margin:.1rem 0 .4rem; }
.pipeline-batch-actions { padding:.5rem .9rem; }
.pipeline-batch-actions > span { font-size:.61rem; }
.pipeline-batch-alert { margin:0 .9rem .6rem; }

.pipeline-explorer-heading { padding:.85rem 1rem .7rem; }
.pipeline-explorer-heading p { font-size:.64rem; }
.pipeline-phase-tabs { position:relative; display:flex; align-items:stretch; gap:.55rem; padding:.55rem .75rem; overflow:visible; background:#fafbfc; }
.pipeline-phase-primary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.32rem; min-width:0; flex:1; }
.pipeline-phase-tabs button { justify-content:center; min-height:35px; padding:.38rem .5rem; border:1px solid var(--bord); border-radius:7px; background:#fff; font-size:.62rem; }
.pipeline-phase-tabs button:hover { border-color:var(--bord-fort); background:#fff; }
.pipeline-phase-tabs button[aria-pressed="true"] { border-color:var(--cuivre); background:var(--cuivre-doux); color:var(--cuivre); box-shadow:0 0 0 1px rgba(180,98,45,.08); }
.pipeline-phase-tabs button span { min-width:18px; background:var(--fond); font-size:.53rem; }
.pipeline-status-details { position:relative; flex:none; }
.pipeline-status-details > summary { display:flex; align-items:center; justify-content:center; gap:.45rem; min-height:35px; padding:.38rem .65rem; border:1px solid var(--bord-fort); border-radius:7px; background:#fff; color:var(--texte-2); font-size:.62rem; font-weight:680; list-style:none; cursor:pointer; white-space:nowrap; }
.pipeline-status-details > summary::-webkit-details-marker { display:none; }
.pipeline-status-details.est-actif > summary,.pipeline-status-details[open] > summary { border-color:var(--cuivre); background:var(--cuivre-doux); color:var(--cuivre); }
.pipeline-status-details[open] > summary i { transform:rotate(180deg); }
.pipeline-phase-more { position:absolute; z-index:30; top:calc(100% + .4rem); right:0; display:grid; grid-template-columns:repeat(2,minmax(195px,1fr)); gap:.35rem; width:min(470px,calc(100vw - 3rem)); padding:.6rem; border:1px solid var(--bord-fort); border-radius:10px; background:#fff; box-shadow:var(--ombre-3); }
.pipeline-phase-more button { justify-content:space-between; }
.pipeline-toolbar { padding:.62rem .75rem; }
.pipeline-reading-guide { display:flex; align-items:center; gap:.45rem .8rem; flex-wrap:wrap; padding:.52rem .78rem; border-bottom:1px solid var(--bord); background:#fff; color:var(--texte-2); font-size:.56rem; }
.pipeline-reading-guide strong { color:var(--encre); font-size:.58rem; }
.pipeline-reading-guide span { display:inline-flex; align-items:center; gap:.28rem; }
.pipeline-reading-guide i,.pipeline-analysis-state::before { width:7px; height:7px; flex:none; border-radius:50%; background:#9aa2ad; content:""; }
.pipeline-reading-guide i.en-cours,.pipeline-analysis-state.en-cours::before { background:var(--bleu); }
.pipeline-reading-guide i.analysee,.pipeline-analysis-state.analysee::before { background:var(--vert); }
.pipeline-reading-guide i.a-verifier,.pipeline-analysis-state.a-verifier::before { background:var(--orange); }
.pipeline-reading-guide b { margin-left:auto; color:var(--texte-3); font-weight:600; }
.pipeline-analysis-state { display:inline-flex; align-items:center; gap:.34rem; margin-bottom:.25rem; padding:.15rem .38rem; border:1px solid var(--bord); border-radius:999px; background:#fff; color:var(--texte-2); font-size:.53rem; font-weight:720; text-transform:uppercase; letter-spacing:.035em; }
.pipeline-analysis-state.en-cours { color:var(--bleu); border-color:var(--bleu-bord); background:var(--bleu-doux); }
.pipeline-analysis-state.analysee { color:var(--vert); border-color:var(--vert-bord); background:var(--vert-doux); }
.pipeline-analysis-state.a-verifier { color:#82510e; border-color:var(--orange-bord); background:var(--orange-doux); }
.pipeline-row.analyse-non-demarree td:first-child { box-shadow:inset 3px 0 #a6adb7; }
.pipeline-row.analyse-en-cours td:first-child { box-shadow:inset 3px 0 var(--bleu); }
.pipeline-row.analyse-terminee td:first-child { box-shadow:inset 3px 0 var(--vert); }
.pipeline-row.analyse-attention td:first-child { box-shadow:inset 3px 0 var(--orange); }
.pipeline-row.analyse-attention.est-erreur td:first-child { box-shadow:inset 3px 0 var(--rouge); }
.recommendation-pill { text-transform:none; }
.recommendation-pill.recommendation-prioritaire { background:var(--vert-doux); }
.recommendation-pill.recommendation-a_enqueter { background:var(--bleu-doux); }
.recommendation-pill.recommendation-a_surveiller { background:var(--orange-doux); }
.recommendation-pill.recommendation-ecarte { background:var(--rouge-doux); }

@media (max-width:1100px) {
  .pipeline-command-layout { grid-template-columns:1fr; }
  .pipeline-state-primary { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .qualification-funnel { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .qualification-funnel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qualification-funnel > :last-child { grid-column:1/-1; }
  .pipeline-command-footer { align-items:flex-start; flex-direction:column; }
  .pipeline-command-actions { justify-content:flex-start; width:100%; }
  .pipeline-batch-cost-block { border-top:1px solid var(--bord); border-left:0; }
  .pipeline-phase-primary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pipeline-reading-guide b { width:100%; margin-left:0; }
}
@media (max-width:620px) {
  .pipeline-command-heading { flex-direction:column; }
  .pipeline-live-state { align-self:flex-start; }
  .pipeline-command-actions { display:grid; grid-template-columns:1fr; }
  .pipeline-command-actions .btn { width:100%; white-space:normal; }
  .pipeline-state-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pipeline-state-primary button:nth-child(3) { border-top:1px solid var(--bord); border-left:0; }
  .pipeline-state-primary button:nth-child(4) { border-top:1px solid var(--bord); }
  .pipeline-phase-tabs { align-items:stretch; flex-direction:column; }
  .pipeline-phase-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pipeline-phase-primary button:first-child { grid-column:1/-1; }
  .pipeline-status-details > summary { width:100%; }
  .pipeline-phase-more { position:static; grid-template-columns:1fr; width:100%; margin-top:.4rem; box-shadow:none; }
  .pipeline-toolbar { padding:.62rem .75rem; }
  .pipeline-reading-guide { gap:.4rem .65rem; }
  .pipeline-batch-cost-block > summary { min-height:0; }
}
