:root {
  --fond: #0a0f1a; --carte: #101827; --bord: #1c2940; --texte: #eaf0fa; --discret: #8a98b0; --vert: #11c562; --texte-vert: #04150b; --ko: #ef5b5b;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) { --fond: #eef2f7; --carte: #ffffff; --bord: #dde4ee; --texte: #17202b; --discret: #5f6d82; --vert: #0f9d4c; --texte-vert: #ffffff; --ko: #b42318; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--texte); font: 15px/1.5 "Segoe UI", system-ui, -apple-system, sans-serif; }
.page { max-width: 960px; margin: 0 auto; padding: 24px 16px 48px; }
.entete { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.logo { border-radius: 10px; flex: none; }
h1 { margin: 0; font-size: 24px; }
h2 { margin: 0 0 8px; font-size: 18px; }
h3 { margin: 18px 0 8px; font-size: 15px; }
.carte { background: var(--carte); border: 1px solid var(--bord); border-radius: 14px; padding: 20px; margin-bottom: 16px; }
.discret { color: var(--discret); }
.petit { font-size: 13px; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 6px; }
.btn { display: inline-flex; align-items: center; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--bord); color: var(--texte); text-decoration: none; }
.btn:hover { border-color: var(--vert); }
.btn.principal { background: var(--vert); border-color: var(--vert); color: var(--texte-vert); font-weight: 600; }
.defile { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--bord); vertical-align: top; }
th { color: var(--discret); font-weight: 600; font-size: 12.5px; }
td a { color: var(--texte); font-weight: 600; }
code { font-family: ui-monospace, Consolas, monospace; font-size: 12px; overflow-wrap: anywhere; color: var(--discret); }
.pastille { margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--vert); color: var(--texte-vert); font-size: 11.5px; font-weight: 600; }
.erreur { color: var(--ko); }
.erreur:empty { display: none; }
@media (max-width: 600px) { th:nth-child(3), td:nth-child(3) { display: none; } .carte { padding: 16px; } }
