:root{--bg:#f1f5f0;--surface:#fff;--surface-2:#e7ede5;--line:#cfd9cc;--line-strong:#8fa293;--fg:#14221a;--muted:#56685a;--accent:#2a6a3d;--accent-soft:#dbeadc;--on-accent:#fff;--ok:#2a7748;--ok-soft:#d8ecdf;--bad:#ad3729;--bad-soft:#f6deda;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#0e1511;--surface:#151f19;--surface-2:#1c2921;--line:#2b3a30;--line-strong:#4a5e50;--fg:#e3ebe4;--muted:#9aab9d;--accent:#7cc28e;--accent-soft:#1d3626;--on-accent:#0e1511;--ok:#6ccb8c;--ok-soft:#1b3424;--bad:#ef8474;--bad-soft:#3d1f1b;color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,p{margin:0}
h1{font-size:28px;line-height:1.15}
h2{font-size:19px;line-height:1.2}
a{color:var(--accent)}
.page{max-width:560px;margin:0 auto;padding:32px 16px 48px;display:flex;flex-direction:column;gap:16px}
.page.large{max-width:860px}
.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.04em}
.muted{color:var(--muted);font-size:14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;gap:14px;min-width:0}
label.champ{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
input.ctl{height:46px;width:100%;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;font-weight:400;padding:0 14px}
input.ctl:focus{outline:2px solid var(--accent);outline-offset:1px}
.btn{min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.small{min-height:36px;padding:0 12px;font-size:13px}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn:disabled{opacity:.6;cursor:default}
.msg{font-size:14px;font-weight:600;color:var(--bad)}
.msg:empty{display:none}
.msg.ok{color:var(--ok)}
.entete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.onglets{display:flex;gap:6px;flex-wrap:wrap}
.onglet{min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.onglet[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.ligne{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--line)}
.ligne:first-child{border-top:0;padding-top:0}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.acces{background:var(--ok-soft);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}
.acces code{font:600 16px ui-monospace,Menlo,monospace;overflow-wrap:anywhere}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
