/* Aucun vert : bleu nuit, blanc cassé, orange, bleu clair, rose. */
:root { --fond: #0b1220; --carte: #111a2c; --bord: #1f2b45; --texte: #d9dfec; --discret: #8490aa; --accent: #f08a3c; --lien: #7fb2f5;
  --mgp: #7fb2f5; --exe: #f08a3c; --humain: #e0589a; }
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body { background: var(--fond); color: var(--texte); font: 15px/1.5 system-ui, "Segoe UI", Helvetica, Arial, sans-serif; display: flex; flex-direction: column; }
a { color: var(--lien); }
header { display: flex; align-items: center; gap: 18px; padding: 10px 16px; border-bottom: 1px solid var(--bord); background: var(--carte); flex-wrap: wrap; }
h1 { font-size: 1.1rem; margin: 0; } h1 span { color: var(--discret); font-weight: 400; }
#compteurs { flex: 1; display: flex; gap: 8px; flex-wrap: wrap; font-size: .85rem; }
.pastille { border: 1px solid var(--bord); border-radius: 12px; padding: 1px 10px; color: var(--discret); white-space: nowrap; }
.pastille b { color: var(--texte); } .pastille.alerte { border-color: var(--accent); color: var(--accent); }
header nav { font-size: .85rem; display: flex; gap: 12px; }
main { flex: 1; display: grid; grid-template-columns: minmax(300px, 400px) 1fr; min-height: 0; }
aside { border-right: 1px solid var(--bord); display: flex; flex-direction: column; min-height: 0; }
.onglets { display: flex; border-bottom: 1px solid var(--bord); }
.onglets button { flex: 1; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--discret); padding: 9px 4px; font: inherit; cursor: pointer; }
.onglets button.actif { color: var(--texte); border-bottom-color: var(--accent); }
.filtres { display: flex; gap: 6px; padding: 8px 10px; flex-wrap: wrap; border-bottom: 1px solid var(--bord); }
.filtres button { background: none; border: 1px solid var(--bord); color: var(--discret); border-radius: 12px; padding: 1px 10px; font: inherit; font-size: .8rem; cursor: pointer; }
.filtres button.actif { color: var(--texte); border-color: var(--lien); }
#liste { overflow-y: auto; flex: 1; }
.ligne { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--bord); border-left: 3px solid transparent; color: inherit; font: inherit; padding: 8px 12px; cursor: pointer; }
.ligne:hover { background: #142038; } .ligne.choisie { background: #16233d; border-left-color: var(--accent); }
.ligne .haut { display: flex; gap: 8px; align-items: baseline; font-size: .76rem; color: var(--discret); }
.ligne .titre { display: block; margin-top: 2px; }
.ligne.fille { padding-left: 30px; }
.qui { font-weight: 700; } .qui.MGP { color: var(--mgp); } .qui.EXE { color: var(--exe); } .qui.Humain { color: var(--humain); }
.etiq { border: 1px solid var(--bord); border-radius: 9px; padding: 0 7px; font-size: .72rem; color: var(--discret); white-space: nowrap; }
.etiq.ouverte { border-color: var(--accent); color: var(--accent); }
.neuf { color: var(--accent); font-weight: 700; }
.jour { padding: 10px 12px 4px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--discret); position: sticky; top: 0; background: var(--fond); }
article { overflow-y: auto; padding: 22px 32px 80px; min-width: 0; }
.vide { color: var(--discret); }
.meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; font-size: .82rem; color: var(--discret); padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1px solid var(--bord); }
.meta code { font-size: .78rem; }
.md { max-width: 900px; }
.md h1 { font-size: 1.6rem; line-height: 1.25; margin: .4em 0 .6em; } .md h2 { font-size: 1.2rem; margin: 1.8em 0 .5em; padding-top: .8em; border-top: 1px solid var(--bord); }
.md h3 { font-size: 1.02rem; margin: 1.4em 0 .4em; }
.md p, .md li { max-width: 80ch; } .md li { margin: .15em 0; }
.md blockquote { margin: 1em 0; padding: .1em 1em; border-left: 3px solid var(--bord); color: var(--discret); }
.md code { background: #18233a; border-radius: 4px; padding: 1px 5px; font-size: .88em; overflow-wrap: anywhere; }
.md pre { background: #0f1828; border: 1px solid var(--bord); border-radius: 6px; padding: 12px; overflow-x: auto; } .md pre code { background: none; padding: 0; }
.md .table { overflow-x: auto; margin: 1em 0; }
.md table { border-collapse: collapse; font-size: .92rem; } .md th, .md td { text-align: left; padding: 5px 14px 5px 0; border-bottom: 1px solid var(--bord); vertical-align: top; }
.md th { color: var(--discret); font-weight: 600; }
.md img { max-width: 100%; height: auto; border: 1px solid var(--bord); border-radius: 6px; }
.md hr { border: 0; border-top: 1px solid var(--bord); }
@media (max-width: 800px) { main { grid-template-columns: 1fr; } aside { max-height: 45vh; border-right: 0; border-bottom: 1px solid var(--bord); } article { padding: 16px; } }
