/* ════════════════ Fiche de Dialogue ALSTOM ⇄ TRIGO (blueprint, clair/sombre) ════════════════ */
.fd{
  --bleu-plan:#0D1A2D; --bleu-profond:#091322; --panneau:#11203699; --trait:#27405E;
  --trace:#6E9CD2; --acier:#8FA6C2; --papier:#EDF3FB; --ambre:#F0A63C; --ambre-vif:#FFC15E;
  --cyan:#7EC8DC; --vert-ok:#79C99E; --rouge:#E0584A; --rouge-vif:#FF7A68; --r:12px;
  position:relative; min-height:100vh; overflow-x:hidden;
  background:linear-gradient(180deg,var(--bleu-profond),var(--bleu-plan) 16%,var(--bleu-plan) 84%,var(--bleu-profond));
  color:var(--papier); font-family:'IBM Plex Mono',monospace;
  margin:calc(-1*var(--space-6,24px)) calc(-1*var(--space-6,24px)) 0;
}
.fd *{box-sizing:border-box;margin:0;padding:0}
.fd::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(var(--trait) 1px,transparent 1px) 0 0/100% 54px,linear-gradient(90deg,var(--trait) 1px,transparent 1px) 0 0/54px 100%;
  opacity:.12;-webkit-mask-image:radial-gradient(ellipse 90% 75% at 50% 22%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 90% 75% at 50% 22%,#000 30%,transparent 100%)}
.fd-page{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:30px 28px 80px}

html[data-theme="light"] .fd{--bleu-plan:#F3F6FC;--bleu-profond:#E7EDF6;--panneau:rgba(255,255,255,.94);--trait:#DCE5F0;--trace:#3E6CA3;--acier:#5E7491;--papier:#18293F;--ambre:#E0931E;--ambre-vif:#C07E14;--cyan:#2C90AC;--vert-ok:#2E9266;--rouge:#C53D2F;--rouge-vif:#D24A39}
html[data-theme="light"] .fd::before{opacity:.06}
html[data-theme="light"] .fd .fd-jauge{background:rgba(21,38,60,.08)}
html[data-theme="light"] .fd .fd-head{background:rgba(21,38,60,.03)}

/* toggle thème */
.fd-theme{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--trait);background:var(--panneau);color:var(--acier);border-radius:999px;padding:7px 14px;font-family:'IBM Plex Mono',monospace;font-size:11px;cursor:pointer;z-index:6;backdrop-filter:blur(6px)}
.fd-theme:hover{border-color:var(--ambre);color:var(--ambre-vif)}
.fd-tt-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--ambre);flex:none}
html[data-theme="light"] .fd .fd-tt-dot{background:var(--ambre-vif);border-color:var(--ambre-vif)}

/* hero */
.fd-hero{text-align:center;padding-top:8px}
.fd-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ambre);margin-bottom:20px}
.fd-exch{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:20px}
.fd-party{display:flex;flex-direction:column;align-items:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:24px;letter-spacing:.04em}
.fd-party small{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acier);margin-top:5px}
.fd-party.trigo{color:var(--ambre-vif)}
.fd-link{display:flex;gap:7px;align-items:center}
.fd-link i{width:7px;height:7px;border-radius:50%;background:var(--trace);opacity:.3;animation:fd-flow 1.5s ease-in-out infinite}
.fd-link i:nth-child(2){animation-delay:.22s}.fd-link i:nth-child(3){animation-delay:.44s;background:var(--ambre)}
@keyframes fd-flow{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
.fd-h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(26px,4vw,42px);line-height:1.06;letter-spacing:-.015em;max-width:820px;margin:0 auto}
.fd-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:16px;font-size:11px;color:var(--acier)}
.fd-meta b{color:var(--papier);font-weight:600}
.fd-statut{color:var(--ambre-vif)}
.fd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.fd-kpi{border:1px solid var(--trait);border-radius:var(--r);padding:16px 18px;background:var(--panneau);backdrop-filter:blur(6px);text-align:left}
.fd-kl{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--acier);margin-bottom:10px}
.fd-kv{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:25px;line-height:1;font-variant-numeric:tabular-nums}
.fd-kv small{font-size:13px;color:var(--acier);font-weight:500}
.fd-kpi.accent .fd-kv{color:var(--ambre-vif)}

/* stepper */
.fd-stepper{display:flex;gap:6px;margin:34px 0 4px;flex-wrap:wrap}
.fd-step{flex:1;min-width:120px;display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--trait);border-radius:10px;background:var(--panneau);font-size:10.5px;color:var(--acier)}
.fd-sdot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--trait);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.fd-step.done{border-color:rgba(121,201,158,.4)}.fd-step.done .fd-sdot{background:var(--vert-ok);border-color:var(--vert-ok);color:#08131f}
.fd-step.cur{border-color:var(--ambre)}.fd-step.cur .fd-sdot{border-color:var(--ambre);color:var(--ambre-vif)}.fd-step.cur .fd-slbl{color:var(--papier);font-weight:600}

/* onglets */
.fd-onglets{display:flex;gap:4px;margin-top:24px;border-bottom:1px solid var(--trait);flex-wrap:wrap}
.fd-ong{background:none;border:none;font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acier);padding:13px 18px 15px;cursor:pointer;position:relative}
.fd-ong:hover{color:var(--papier)}.fd-ong.actif{color:var(--ambre-vif)}
.fd-ong.actif::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ambre)}
.fd-tab{margin-top:24px;animation:fd-fade .3s ease}
@keyframes fd-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* besoin */
.fd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fd-field{border:1px solid var(--trait);border-radius:var(--r);padding:14px 16px;background:var(--panneau)}
.fd-field.wide{grid-column:1/-1}
.fd-flabel{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--acier);margin-bottom:9px}
.fd-fval{font-size:12.5px;line-height:1.55;color:var(--papier)}
.fd-fval b{color:var(--ambre-vif);font-weight:600}

/* chips */
.fd-chip{display:inline-block;font-size:10.5px;padding:4px 11px;border-radius:999px;border:1px solid var(--trait);color:var(--acier);margin:3px 5px 3px 0}
.fd-chip.hab{border-color:rgba(110,156,210,.4);color:var(--trace)}
.fd-chip.ehs{border-color:rgba(224,88,74,.38);color:var(--rouge-vif)}
.fd-chip.ehs.on{background:color-mix(in srgb,var(--rouge) 14%,transparent)}
.fd-chip.doc{border-color:rgba(240,166,60,.4);color:var(--ambre-vif)}
.fd-chip.site.on{background:color-mix(in srgb,var(--ambre) 14%,transparent);border-color:var(--ambre);color:var(--ambre-vif)}

/* work packages / lots */
.fd-wps{display:flex;flex-direction:column;gap:16px}
.fd-wp{border:1px solid var(--trait);border-left:3px solid var(--c);border-radius:var(--r);padding:16px 18px;background:var(--panneau)}
.fd-wp-tete{display:flex;align-items:center;gap:12px;margin-bottom:13px;flex-wrap:wrap}
.fd-wp-n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);padding:4px 9px;border-radius:7px}
.fd-wp-nom{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;flex:1}
.fd-wp-cnt{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier)}
.fd-lots{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:10px}
.fd-lot{position:relative;text-align:left;border:1px solid var(--trait);border-radius:10px;padding:12px 13px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:border-color .2s ease,transform .2s ease;display:flex;flex-direction:column;gap:5px}
.fd-lot:hover{border-color:var(--c);transform:translateY(-2px)}
.fd-lot.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent)}
.fd-lot-ref{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;color:var(--c)}
.fd-lot-desc{font-size:11px;line-height:1.4;color:var(--papier)}
.fd-lot-liv{font-size:9.5px;color:var(--acier)}
.fd-lot-tag{position:absolute;top:10px;right:10px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--vert-ok)}

/* tables chiffrage / facturation */
.fd-table{border:1px solid var(--trait);border-radius:var(--r);overflow:hidden;background:var(--panneau)}
.fd-row{display:grid;grid-template-columns:60px 1fr 70px 92px 112px;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--trait) 55%,transparent);font-size:12px;border-left:3px solid transparent}
.fd-row[style*="--c"]{border-left-color:var(--c)}
.fd-row:first-child{border-top:none}
.fd-head{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier);background:rgba(255,255,255,.02)}
.fd-fact{grid-template-columns:1.6fr 90px 1fr 1fr 120px 46px}
.fd-head.fd-fact span:nth-child(3),.fd-head.fd-fact span:nth-child(4),.fd-head.fd-fact span:nth-child(5){text-align:right}
.fd-head.fd-fact span:nth-child(6){text-align:center}
.fd-fact .fd-delcell{display:flex;align-items:center;justify-content:center}
.fd-rl{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--ambre-vif)}
.fd-rd{color:var(--papier);min-width:0}
.fd-rn{color:var(--acier);font-variant-numeric:tabular-nums}
.fd-rm{font-weight:700;color:var(--papier);font-variant-numeric:tabular-nums;text-align:right}
.fd-total{background:color-mix(in srgb,var(--ambre) 8%,transparent)}.fd-total .fd-rm{color:var(--ambre-vif);font-size:14px}
.fd-prov{opacity:.85}
.fd-note{margin-top:14px;font-size:10.5px;color:var(--acier);line-height:1.6;border-left:2px solid var(--ambre);padding-left:12px}
.fd-jauge{height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:16px}
.fd-jauge i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--ambre),var(--ambre-vif))}

/* référentiel */
.fd-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--acier);margin:26px 0 12px;display:flex;align-items:center;gap:14px}
.fd-sub:first-child{margin-top:0}
.fd-sub::after{content:"";flex:1;height:1px;background:var(--trait)}
.fd-chips{display:flex;flex-wrap:wrap;gap:2px}
.fd-wpref{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fd-wpr{border:1px solid var(--trait);border-left:3px solid var(--c);border-radius:10px;padding:13px 14px;font-size:12px;color:var(--papier);background:var(--panneau);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fd-wpr small{width:100%;color:var(--acier);font-size:9px;letter-spacing:.1em}

/* panneau détail lot */
.fd-voile{position:fixed;inset:0;z-index:3000;background:rgba(7,13,24,.6);backdrop-filter:blur(2px);display:flex;justify-content:flex-end}
.fd-panel{position:relative;width:min(460px,92vw);height:100%;overflow-y:auto;padding:26px 24px 50px;border-left:3px solid var(--c);background:linear-gradient(180deg,var(--bleu-profond),var(--bleu-plan) 16%);animation:fd-slide .25s cubic-bezier(.2,.7,.2,1);color:var(--papier);font-family:'IBM Plex Mono',monospace}
@keyframes fd-slide{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.fd-pclose{position:absolute;top:18px;right:18px;width:34px;height:34px;border:1px solid var(--trait);border-radius:50%;background:var(--panneau);color:var(--acier);cursor:pointer;font-size:13px}
.fd-pclose:hover{border-color:var(--ambre);color:var(--ambre-vif)}
.fd-peyebrow{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--c);margin-bottom:14px}
.fd-pref{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:40px;color:var(--c);line-height:1}
.fd-pcat{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier);margin:6px 0 16px}
.fd-pdesc{font-size:14px;line-height:1.5}
.fd-plabel{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--acier);margin:20px 0 8px}
.fd-pacc{font-size:12.5px;line-height:1.5}
.fd-pchiff{display:flex;gap:16px;margin-top:22px;padding-top:16px;border-top:1px dashed var(--trait)}
.fd-pchiff div{display:flex;flex-direction:column;gap:3px}
.fd-pchiff small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--acier)}
.fd-pchiff b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:16px}
.fd-pm{color:var(--ambre-vif)!important}

.fd-footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--trait);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier)}

@media(max-width:760px){
  .fd-kpis{grid-template-columns:repeat(2,1fr)}
  .fd-grid{grid-template-columns:1fr}
  .fd-table{overflow-x:auto}
  .fd-row{min-width:540px}
  .fd-exch{gap:14px}.fd-party{font-size:19px}
}

/* ════ Édition (formulaire) ════ */
.fd-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.fd-tb-ref{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;color:var(--ambre-vif)}
.fd-sauv{font-size:10px;letter-spacing:.08em}.fd-sauv.on{color:var(--ambre-vif)}.fd-sauv.ok{color:var(--vert-ok)}
.fd-tb-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;border:1px solid var(--trait);background:var(--panneau);color:var(--acier);border-radius:999px;padding:8px 16px;cursor:pointer;transition:border-color .2s,color .2s}
.fd-tb-btn:hover{border-color:var(--acier);color:var(--papier)}
.fd-tb-btn.primary{background:var(--ambre);border-color:var(--ambre);color:#1a1206;font-weight:700}
.fd-tb-btn.primary:hover{background:var(--ambre-vif)}
.fd-ed{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--trait);border-radius:8px;padding:9px 11px;color:var(--papier);font-family:'IBM Plex Mono',monospace;font-size:12.5px;line-height:1.5;resize:vertical}
.fd-ed:focus{outline:none;border-color:var(--ambre)}
textarea.fd-ed{min-height:54px}.fd-sel{cursor:pointer}
.fd-h1edit{display:block;width:100%;max-width:none;margin:4px 0 0;text-align:center;background:none;border:none;border-bottom:1px dashed transparent;color:var(--papier);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(16px,2.2vw,23px);line-height:1.15;letter-spacing:-.01em}
.fd-h1edit:focus{outline:none;border-bottom-color:var(--ambre)}
.fd-meta label{display:inline-flex;align-items:center;gap:6px}
.fd-mini{background:rgba(255,255,255,.03);border:1px solid var(--trait);border-radius:6px;padding:4px 8px;color:var(--papier);font-family:'IBM Plex Mono',monospace;font-size:11px;width:160px}
.fd-mini.fd-v{width:62px}.fd-mini:focus{outline:none;border-color:var(--ambre)}
.fd-num{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--trait);border-radius:6px;padding:6px 8px;color:var(--papier);font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:right}
.fd-num:focus{outline:none;border-color:var(--ambre)}.fd-sem{text-align:left}
.fd-dates{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:var(--acier)}
.fd-dates .fd-ed{width:auto;display:inline-block;min-width:120px}
.fd-chipedit{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fd-x{background:none;border:none;color:inherit;opacity:.55;cursor:pointer;margin-left:5px;font-size:10px}.fd-x:hover{opacity:1}
.fd-addchip,.fd-add{font-family:'IBM Plex Mono',monospace;font-size:10.5px;border:1px dashed var(--trait);background:none;color:var(--acier);border-radius:999px;padding:4px 12px;cursor:pointer}
.fd-addchip:hover,.fd-add:hover{border-color:var(--ambre);color:var(--ambre-vif)}
.fd-add{margin-top:12px;border-radius:8px;padding:9px 16px;display:inline-block}
.fd-chip.btnchip{cursor:pointer;font-family:inherit}
.fd-step{cursor:pointer;font-family:inherit;text-align:left}
.fd-hint{font-size:11px;color:var(--acier);margin-bottom:14px;border-left:2px solid var(--ambre);padding-left:10px}.fd-hint b{color:var(--ambre-vif)}
.fd-empty2{padding:18px;text-align:center;color:var(--acier);font-size:12px}
.fd-rmrow{background:none;border:none;color:var(--acier);opacity:.45;cursor:pointer;font-size:10px;margin-left:6px}.fd-rmrow:hover{opacity:1;color:var(--rouge-vif)}
html[data-theme="light"] .fd .fd-ed,html[data-theme="light"] .fd .fd-mini,html[data-theme="light"] .fd .fd-num{background:#fff}
.fd-lotsel{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--trait);border-radius:6px;padding:6px 4px;color:var(--ambre-vif);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:12px;cursor:pointer}
.fd-lotsel:focus{outline:none;border-color:var(--ambre)}
html[data-theme="light"] .fd .fd-lotsel{background:#fff}

/* ════ Lignes éditables : colonne suppression + surbrillance ajout + lisibilité sombre ════ */
.fd .fd-row.fd-chiffrow{grid-template-columns:40px 1.5fr 116px 124px 100px 124px 124px 40px}
.fd-chifftable{min-width:880px}
.fd-head.fd-chiffrow span:nth-child(4){text-align:right}
.fd-head.fd-chiffrow span:nth-child(8){text-align:center}
.fd .fd-row.fd-fact{grid-template-columns:1.6fr 90px 1fr 1fr 120px 46px}
.fd-delcell{display:flex;justify-content:center;align-items:center}
.fd-del{width:28px;height:28px;border-radius:8px;border:1px solid var(--trait);background:color-mix(in srgb,var(--rouge) 14%,transparent);color:var(--rouge-vif);font-size:13px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s,color .15s}
.fd-del:hover{background:var(--rouge);border-color:var(--rouge);color:#fff}
.fd-justadded{animation:fd-pop 1.8s ease-out}
.fd-justadded .fd-lotsel,.fd-justadded .fd-sem{border-color:var(--ambre)}
@keyframes fd-pop{0%{background:color-mix(in srgb,var(--ambre) 34%,transparent)}100%{background:transparent}}

/* lisibilité thème sombre : panneaux opaques + champs contrastés + selects lisibles */
.fd{--panneau:#152843}
.fd-ed,.fd-num,.fd-mini,.fd-lotsel{background:rgba(0,0,0,.24)}
.fd-lotsel{color:var(--papier);font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11.5px;padding:6px 8px}
.fd select option,.fd select optgroup{background:#0f1f37;color:#EDF3FB}
html[data-theme="light"] .fd{--panneau:rgba(255,255,255,.96)}
html[data-theme="light"] .fd .fd-ed,html[data-theme="light"] .fd .fd-num,html[data-theme="light"] .fd .fd-mini,html[data-theme="light"] .fd .fd-lotsel{background:#fff;color:#17273D}
html[data-theme="light"] .fd select option,html[data-theme="light"] .fd select optgroup{background:#fff;color:#17273D}

/* ════ Autorité de remplissage (VERT=ALSTOM, BLEU=TRIGO) + blocs + PV + sélecteur ════ */
.fd{--alstom:#79C99E;--trigo:#6E9CD2}
html[data-theme="light"] .fd{--alstom:#2E9266;--trigo:#3E6CA3}
.fd-auth{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle}
.fd-auth.alstom{background:var(--alstom)}.fd-auth.trigo{background:var(--trigo)}
.fd-field.who-alstom{border-left:3px solid var(--alstom)}
.fd-field.who-trigo{border-left:3px solid var(--trigo)}
.fd-authtag{font-size:8px;letter-spacing:.1em;font-weight:700;padding:2px 7px;border-radius:999px;margin-left:8px;vertical-align:middle}
.fd-field.who-alstom .fd-authtag{background:color-mix(in srgb,var(--alstom) 18%,transparent);color:var(--alstom)}
.fd-field.who-trigo .fd-authtag{background:color-mix(in srgb,var(--trigo) 18%,transparent);color:var(--trigo)}
.fd-legende{display:flex;justify-content:center;gap:18px;margin-top:14px;font-size:10px;color:var(--acier);flex-wrap:wrap}
.fd-legende b{font-weight:700;color:var(--papier)}
.fd-banner{display:inline-flex;align-items:center;gap:8px;font-size:11px;padding:9px 15px;border-radius:999px;margin-bottom:16px;border:1px solid var(--trait);color:var(--acier)}
.fd-banner b{font-weight:700}
.fd-banner.alstom{border-color:color-mix(in srgb,var(--alstom) 45%,var(--trait));color:var(--alstom);background:color-mix(in srgb,var(--alstom) 9%,transparent)}
.fd-banner.trigo{border-color:color-mix(in srgb,var(--trigo) 45%,var(--trait));color:var(--trigo);background:color-mix(in srgb,var(--trigo) 9%,transparent)}
.fd-banner.pv{border-color:color-mix(in srgb,var(--ambre) 45%,var(--trait));color:var(--ambre-vif);background:color-mix(in srgb,var(--ambre) 9%,transparent)}
.fd-blocklab{width:100%;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:10px 0 0;padding-left:2px}
.fd-blocklab.alstom{color:var(--alstom)}.fd-blocklab.trigo{color:var(--trigo)}.fd-blocklab.pv{color:var(--ambre-vif)}
.fd-odot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle;background:var(--acier)}
.fd-odot.alstom{background:var(--alstom)}.fd-odot.trigo{background:var(--trigo)}.fd-odot.pv{background:var(--ambre-vif)}
.fd-party.alstom{color:var(--alstom)}
.fd-party.trigo{color:var(--trigo)}
.fd-link i:nth-child(1){background:var(--alstom)}.fd-link i:nth-child(3){background:var(--trigo)}
.fd .fd-row.fd-pvrow{grid-template-columns:54px 1.2fr 1.5fr 150px}
.fd-pvacc{width:100%;background:rgba(0,0,0,.24);border:1px solid var(--trait);border-radius:6px;padding:6px 8px;color:var(--papier);font-family:'IBM Plex Mono',monospace;font-size:11.5px;cursor:pointer}
.fd-pvacc.acc-ok,.fd .fd-sel.acc-ok{border-color:var(--alstom);color:var(--alstom)}
.fd-pvacc.acc-res,.fd .fd-sel.acc-res,.fd .fd-sel.acc-x{border-color:var(--ambre);color:var(--ambre-vif)}
.fd-pvacc.acc-no,.fd .fd-sel.acc-no{border-color:var(--rouge);color:var(--rouge-vif)}
html[data-theme="light"] .fd .fd-pvacc{background:#fff}
.fd-pick{background:rgba(0,0,0,.24);border:1px solid var(--trait);border-radius:8px;padding:7px 12px;color:var(--papier);font-family:'IBM Plex Mono',monospace;font-size:11px;cursor:pointer;max-width:300px}
.fd-pick:focus{outline:none;border-color:var(--ambre)}
html[data-theme="light"] .fd .fd-pick{background:#fff;color:#17273D}
@media(max-width:760px){.fd .fd-row.fd-pvrow{grid-template-columns:1fr;gap:6px}}

/* ════ Épure : nav plus claire + respiration ════ */
.fd-onglets{align-items:center;gap:2px;margin-top:26px}
.fd-navsep{width:1px;height:20px;background:var(--trait);margin:0 8px;flex:none}
.fd-ong{display:inline-flex;align-items:center;border-radius:8px 8px 0 0}
.fd-ong.actif{background:color-mix(in srgb,var(--ambre) 8%,transparent)}
.fd-banner{font-weight:500}
.fd-tab{margin-top:22px}
.fd-field .fd-flabel{display:flex;align-items:center}

/* ════ PV : 2 tableaux (acceptation par lot + livraisons/recette) ════ */
.fd .fd-row.fd-pvrow{grid-template-columns:44px 1fr 1fr 1.1fr 138px}
.fd .fd-row.fd-livrow{grid-template-columns:48px 1.5fr 64px 112px 118px 92px 92px 40px}
.fd-livchk{display:flex;align-items:center;justify-content:center}
.fd-livchk input{width:16px;height:16px;cursor:pointer;accent-color:var(--ambre)}
.fd-bon{border-color:color-mix(in srgb,var(--alstom) 50%,var(--trait))!important}
.fd-scrollx{overflow-x:auto}
@media(max-width:900px){.fd .fd-row.fd-livrow{min-width:760px}}

/* ════ Verrouillage par autorité — champ éditable uniquement par sa partie (VERT=ALSTOM / BLEU=TRIGO) ════ */
.fd .fd-ed.fd-locked,.fd .fd-num.fd-locked,.fd .fd-sel.fd-locked,.fd .fd-pvacc.fd-locked,.fd .fd-lotsel.fd-locked{
  cursor:not-allowed;color:var(--papier);border-style:solid;border-color:var(--trait);
  background:color-mix(in srgb,var(--acier) 9%,transparent)}
.fd .fd-ed.fd-locked:focus,.fd .fd-num.fd-locked:focus,.fd .fd-sel.fd-locked:focus{outline:none;border-color:var(--trait)}
.fd .btnchip.fd-locked{cursor:not-allowed}
.fd .fd-lot.fd-locked{cursor:default}
.fd .fd-lot.fd-locked:hover{transform:none;box-shadow:none;border-color:var(--trait)}
html[data-theme="light"] .fd .fd-ed.fd-locked,html[data-theme="light"] .fd .fd-num.fd-locked,html[data-theme="light"] .fd .fd-sel.fd-locked,html[data-theme="light"] .fd .fd-pvacc.fd-locked,html[data-theme="light"] .fd .fd-lotsel.fd-locked{
  background:color-mix(in srgb,var(--acier) 13%,transparent);color:var(--papier)}
.fd-field:has(.fd-ed.fd-locked,.fd-num.fd-locked,.fd-sel.fd-locked,.fd-pvacc.fd-locked) .fd-flabel::after{content:"🔒";margin-left:7px;font-size:10px;opacity:.55}
.fd-vide{color:var(--acier);font-size:11px;font-style:italic;opacity:.7}

/* ════ PV : en-tête de rappel (identité de la fiche) ════ */
.fd-recap{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait);border-radius:var(--r);overflow:hidden;margin-bottom:14px}
.fd-rc{background:var(--panneau);padding:10px 13px;display:flex;flex-direction:column;gap:3px;min-width:0}
.fd-rc span{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier)}
.fd-rc b{font-size:12.5px;color:var(--papier);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.fd-recap{grid-template-columns:1fr 1fr}}

/* ════ Cartouche d'en-tête (identité de la fiche, type formulaire) ════ */
.fd-cartouche{border:1px solid var(--trait);border-radius:14px;background:var(--panneau);overflow:hidden;margin-top:4px}
.fd-ct-head{display:grid;grid-template-columns:210px 1fr 210px;align-items:center;gap:18px;padding:17px 22px;border-bottom:1px solid var(--trait);background:color-mix(in srgb,var(--bleu-profond) 45%,transparent)}
.fd-brand{display:flex;flex-direction:column;gap:6px}
.fd-brand.alstom{align-items:flex-start;border-left:3px solid var(--alstom);padding-left:13px}
.fd-brand.trigo{align-items:flex-end;text-align:right;border-right:3px solid var(--trigo);padding-right:13px}
.fd-brand small{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--acier)}
.fd-logo-alstom{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;letter-spacing:.02em;color:var(--papier);line-height:1}
.fd-logo-trigo{height:24px;width:auto;object-fit:contain;display:block}
.fd-ct-title{text-align:center;min-width:0}
.fd-ct-eyebrow{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--ambre);margin-bottom:6px}
.fd-ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--trait)}
.fd-ct-f{background:var(--panneau);padding:10px 15px;display:flex;flex-direction:column;gap:5px;min-width:0;cursor:text}
.fd-ct-f>span{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--acier)}
.fd-ct-f .fd-mini,.fd-ct-f .fd-ed,.fd-ct-f .fd-sel{width:100%;background:transparent!important;border:none!important;border-radius:0;padding:0;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--papier)!important;font-weight:600;text-overflow:ellipsis}
.fd-ct-f .fd-sel{cursor:pointer}
.fd-ct-f .fd-mini:focus,.fd-ct-f .fd-ed:focus,.fd-ct-f .fd-sel:focus{outline:none;background:color-mix(in srgb,var(--ambre) 11%,transparent)!important;border-radius:5px}
.fd-ct-f .fd-locked{cursor:default}
.fd-ct-f:has(.fd-locked){cursor:default}
.fd-cartouche-pv{margin-bottom:16px}
.fd-tb-btn.fd-tb-off{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}
.fd-tb-btn.fd-tb-off:hover{opacity:.4}
@media(max-width:820px){.fd-ct-head{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px}.fd-brand.alstom,.fd-brand.trigo{align-items:center;border:none;padding:0}.fd-ct-grid{grid-template-columns:1fr 1fr}}
