/* GY Estimation — feuille partagée, design system 1+1 Stratégie v1.6 (Ivoire/Rouille, Barlow Condensed + Inter, filet 3 px, pas d'ombre, rayons ≤ 4 px, pas de vert).
   Aucune police externe : CSP style-src 'self'. Les familles sont déclarées avec repli système (D-UX-8). */
:root{--rouille:#B14506;--noir:#1F1F1F;--blanc:#FFFFFF;--ivoire:#FFF7ED;--grey-700:#404040;--grey-500:#737373;--grey-400:#A3A3A3;--grey-300:#D4D4D4;--grey-200:#E5E5E5;--alerte:#B1251B;--ocre:#9C7410;
  --font-display:'Barlow Condensed','Arial Narrow','Helvetica Neue Condensed',Impact,sans-serif;--font-body:'Inter',-apple-system,system-ui,'Segoe UI',Arial,sans-serif;--ease:cubic-bezier(.2,.6,.2,1)}
*{box-sizing:border-box}[hidden]{display:none!important}
html{background:var(--ivoire)}body{margin:0;font:15px/1.55 var(--font-body);color:var(--grey-700);background:var(--ivoire);-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;color:var(--noir);letter-spacing:-.02em;line-height:.95;margin:0}
h1{font-size:clamp(34px,5vw,56px)}h2{font-size:26px;margin-bottom:12px}h3{font-size:18px;letter-spacing:-.01em;margin:24px 0 10px}
p{margin:0 0 10px}a{color:var(--rouille)}a:hover{text-decoration:underline}
.eyebrow{font:700 12px var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--rouille);margin:0 0 6px}
.filet{display:block;height:3px;width:56px;background:var(--rouille);margin:10px 0 16px}.filet.m{width:96px}
header{padding:28px 48px 20px;border-bottom:1px solid var(--grey-200);display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
header p{color:var(--grey-500);max-width:780px;margin:0}header nav{display:flex;gap:8px;flex-wrap:wrap}
header nav a{font:700 12px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--noir);text-decoration:none;border:1px solid var(--noir);padding:9px 14px;transition:background 150ms var(--ease),color 150ms var(--ease)}
header nav a:hover{background:var(--noir);color:var(--ivoire);text-decoration:none}
main{max-width:1200px;margin:auto;padding:24px 48px 64px}
.card{background:var(--blanc);border:1px solid var(--grey-200);padding:24px;margin-bottom:24px}
.card>h2 .count,.step-no{font-family:var(--font-display);font-weight:800;color:var(--rouille)}
.step-no{font-size:26px;margin-right:10px}
.small{font-size:13px;color:var(--grey-500);line-height:1.5}
label{display:block;font:600 12px var(--font-body);color:var(--grey-700)}
input,select,textarea{display:block;width:100%;min-width:0;margin-top:5px;padding:10px;border:1px solid var(--grey-300);border-radius:2px;background:var(--blanc);font:15px var(--font-body);color:var(--noir)}
textarea{resize:vertical;min-height:70px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--rouille);outline-offset:2px}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}label.block{margin-top:12px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}
button,.button{cursor:pointer;font:700 12px var(--font-display);letter-spacing:.2em;text-transform:uppercase;padding:11px 16px;border:1px solid var(--noir);background:var(--blanc);color:var(--noir);border-radius:0;transition:background 150ms var(--ease),color 150ms var(--ease);text-decoration:none;display:inline-block}
button:hover,.button:hover{background:var(--noir);color:var(--ivoire);text-decoration:none}
button.primary{background:var(--rouille);border-color:var(--rouille);color:var(--ivoire)}button.primary:hover{background:var(--noir);border-color:var(--noir)}
button:disabled{opacity:.5;cursor:wait}
button.row-act{padding:6px 9px;font-size:11px;letter-spacing:.12em;margin:2px 4px 2px 0}
summary{cursor:pointer;font:700 13px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--noir);padding:4px 0}
details[open]>summary{margin-bottom:12px}
#notice{position:sticky;top:0;z-index:10;background:var(--noir);color:var(--ivoire);padding:0 24px;white-space:pre-wrap;margin:0 0 16px}#notice:not(:empty){padding:12px 24px}#notice.error{background:var(--alerte)}
.warning{background:var(--blanc);border-left:3px solid var(--ocre);padding:12px 16px;color:var(--grey-700);font-size:13px;margin:12px 0}
.table{overflow:auto}table{width:100%;border-collapse:collapse}
th,td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--grey-200);font-size:13px}th{font:700 11px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--grey-500)}
tr.grp th{background:var(--ivoire);color:var(--noir);font-size:13px;padding-top:14px}
td ul{margin:0;padding-left:18px}code{font:13px var(--font-body);font-variant-numeric:tabular-nums;background:var(--ivoire);border:1px solid var(--grey-200);padding:1px 6px}
.num{font-variant-numeric:tabular-nums}
.st-confirmé{color:var(--noir);font-weight:700}.st-à_confirmer{color:var(--ocre);font-weight:600}.st-en_conflit{color:var(--alerte);font-weight:700}.st-manquant{color:var(--grey-500)}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:16px 0 0}
.facts div{border-top:1px solid var(--grey-200);padding-top:8px}.facts span{display:block;font:700 11px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--grey-500)}.facts strong{display:block;color:var(--noir);font-weight:600;overflow-wrap:anywhere}
.next{margin-top:20px;padding:14px 16px;border-left:3px solid var(--rouille);background:var(--ivoire)}.next span{font:700 11px var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--rouille);display:block}.next strong{color:var(--noir);font-weight:600}
.steps{display:flex;gap:4px;flex-wrap:wrap;margin:16px 0 0}.steps a{font:700 12px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--noir);text-decoration:none;padding:8px 12px;border:1px solid var(--grey-200);background:var(--blanc)}.steps a:hover{border-color:var(--noir)}
ul.points{margin:8px 0 0;padding:0;list-style:none}ul.points li{padding:8px 0;border-bottom:1px solid var(--grey-200);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}ul.points button{margin:0}
.act-title{font-weight:600;color:var(--noir)}
tr:target td{background:var(--ivoire)}
footer{text-align:center;padding:24px;font-size:12px;color:var(--grey-400);border-top:1px solid var(--grey-200)}
@media(max-width:1000px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){header{padding:20px 16px;flex-direction:column;align-items:flex-start}main{padding:16px 16px 48px}.card{padding:16px}.fields,.fields.two{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}table.stack thead{display:none}table.stack tr{border:1px solid var(--grey-200);margin-bottom:10px}table.stack td{border:0;padding:6px 10px}table.stack td:empty{display:none}
  table.stack td::before{content:attr(data-l);display:block;font:700 10px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--grey-500)}table.stack tr.grp th{display:block;border:0}}
