/* Compléments à Pico.css — mêmes conventions que le rapport d'exemple */
:root{--ok:#1f8a4c;--mid:#b7791f;--low:#c0392b;--action:#2f5bd3}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ok:#4cc483;--mid:#e0a84a;--low:#ff7a6b;--action:#7c9cff}}
body>header.container,body>main.container{max-width:1200px}
nav ul li a.active{font-weight:700;text-decoration:underline}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:.75rem;margin:1rem 0}
.kpi{border:1px solid var(--pico-muted-border-color);border-radius:.5rem;padding:.75rem;background:var(--pico-card-background-color)}
.kpi b{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums}.kpi span{color:var(--pico-muted-color);font-size:.85rem}
.bar{height:6px;background:var(--pico-muted-border-color);border-radius:3px;margin-top:.5rem}.bar i{display:block;height:100%;border-radius:3px;background:var(--action)}
.tbl{overflow-x:auto}.tbl table{min-width:880px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sub{color:var(--pico-muted-color);font-size:.8rem}.neg{color:var(--low)}
.score{font-weight:700;cursor:help;border-bottom:1px dotted var(--pico-muted-color)}
.conf{font-weight:600}.conf.ok{color:var(--ok)}.conf.mid{color:var(--mid)}.conf.low{color:var(--low)}
.pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid currentColor;white-space:nowrap}
.pill.urgent{color:var(--low)}.pill.action{color:var(--action)}.pill.warn{color:var(--mid)}.pill.info,.pill.muted{color:var(--pico-muted-color)}.pill.muted{border-style:dashed}
.pill.ok{color:var(--ok)}
.badge{display:inline-block;min-width:1.4em;padding:0 .4em;border-radius:999px;background:var(--low);color:#fff;font-size:.75rem;text-align:center}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1rem}
.inline{display:inline}.inline button{padding:.25rem .75rem;margin:0 .25rem 0 0;width:auto}
.flash{padding:.75rem;border-radius:.5rem;border:1px solid var(--ok);color:var(--ok)}.error{border-color:var(--low);color:var(--low)}
.spark{width:100%;height:60px}
form.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:0 1rem;align-items:end}
body>header nav{flex-wrap:wrap}body>header nav ul{flex-wrap:wrap}
.tbl table{font-size:.9rem}.tbl th,.tbl td{padding:.5rem .6rem}
.tbl td:nth-child(2){min-width:240px}
.tbl .pill{white-space:normal}
@media (max-width:700px){body>header nav ul:last-child li{padding:.25rem .4rem}body>header nav ul:last-child{font-size:.9rem}}
input,select,textarea{min-width:0}
.tbl.compact table{min-width:0}.tbl.compact td:nth-child(2){min-width:0}
.inline select,.inline input[type=number]{display:inline-block;width:auto;margin:0 .25rem 0 0;padding:.25rem .5rem;height:auto}
label.inline{display:inline-flex;align-items:center;gap:.25rem;margin:0 .5rem 0 0}label.inline input{margin:0}
.nowrap{white-space:nowrap}
/* Module 9 : portes de conformité */
.gates{display:flex;gap:3px;min-width:8rem}.gates i{flex:1;height:.6rem;border-radius:2px;background:var(--pico-muted-border-color)}
.gates i.ok{background:var(--ok)}.gates i.ko{background:var(--low)}.gates i.warn{background:var(--mid)}.gates i.soon{opacity:.35}
.feu{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;vertical-align:middle;margin-right:.35rem}
.feu.vert{background:var(--ok)}.feu.orange{background:var(--mid)}.feu.rouge{background:var(--low)}
.rule{border-left:4px solid var(--pico-muted-border-color);padding:.5rem .75rem;margin:.5rem 0}
.rule.rouge{border-color:var(--low)}.rule.orange{border-color:var(--mid)}.rule.vert{border-color:var(--ok)}
.rule details{margin:.25rem 0}.rule form{margin:.35rem 0}
/* v1.4 — mobile et appli installée : menu défilant, barre d'onglets en bas */
.tabbar{display:none}
@media (max-width:768px){
  header.container nav{overflow-x:auto;-webkit-overflow-scrolling:touch}
  header.container nav ul:last-child{flex-wrap:nowrap;white-space:nowrap}
  main.container{padding-bottom:4.5rem}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;justify-content:space-around;
    background:var(--pico-background-color);border-top:1px solid var(--pico-muted-border-color);
    padding:.3rem 0 calc(.3rem + env(safe-area-inset-bottom))}
  .tabbar a{display:flex;flex-direction:column;align-items:center;font-size:.7rem;text-decoration:none;
    color:var(--pico-muted-color);min-width:3.5rem}
  .tabbar a span{font-size:1.2rem;line-height:1.3}
  .tabbar a[aria-current]{color:var(--pico-primary)}
  .tbl{overflow-x:auto}
  /* tableaux « cartes » (À décider) : une décision = un bloc, boutons Valider / Refuser visibles sans défiler */
  .tbl.cards thead{display:none}
  .tbl.cards table,.tbl.cards tbody,.tbl.cards tr,.tbl.cards td{display:block;width:100%;min-width:0}
  .tbl.cards tr{border-bottom:1px solid var(--pico-muted-border-color);padding:.4rem 0}
  .tbl.cards td{border:0;padding:.15rem 0;white-space:normal;overflow-wrap:anywhere}
  .tbl.cards td *{white-space:normal}
  .tbl.cards td form,.tbl.cards td button{display:inline-block;width:auto;margin:.2rem .3rem .2rem 0}
}

/* aide « Comprendre cette page » */
details.aide{border:1px solid var(--pico-muted-border-color);border-left:4px solid var(--pico-primary);border-radius:.5rem;padding:.6rem 1rem;margin:0 0 1.2rem;background:var(--pico-card-background-color)}
details.aide summary{font-weight:600}details.aide dl{margin:.4rem 0}details.aide dt{font-weight:600;margin-top:.4rem}details.aide dd{margin:0 0 0 1rem;color:var(--pico-muted-color)}
details.inline-links{display:inline-block;margin:0 0 0 .4rem}details.inline-links summary{display:inline;color:var(--pico-primary);cursor:pointer;font-size:.9em}details.inline-links[open]{display:block;font-size:.9em}
details.aide-fournisseurs{margin:.6rem 0 1rem}details.aide-fournisseurs summary{font-weight:600}ul.fournisseurs{margin:.4rem 0}ul.fournisseurs li{margin:.2rem 0}
