:root { --bleu:#1f3864; --bord:#c8c8c8; --fond:#f5f6f8; --ok:#1e7a3c; --err:#b3261e; --warn:#8a5a00; }
* { box-sizing: border-box; }
body { margin:0; padding:12px; font:14px/1.4 "Segoe UI", system-ui, sans-serif; color:#222; background:#fff; }
h1 { font-size:16px; margin:0 0 8px; color:var(--bleu); }
h2 { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:#555; margin:14px 0 4px; }
.carte { background:var(--fond); border:1px solid var(--bord); border-radius:6px; padding:8px 10px; word-break:break-word; }
.carte div { margin:2px 0; }
.etiquette { color:#666; }
input[type=text], select { width:100%; padding:6px 8px; border:1px solid var(--bord); border-radius:4px; font:inherit; background:#fff; }
button { font:inherit; padding:7px 12px; border:1px solid var(--bleu); background:var(--bleu); color:#fff; border-radius:4px; cursor:pointer; }
button.secondaire { background:#fff; color:var(--bleu); }
button:disabled { opacity:.45; cursor:default; }
.pleine { width:100%; margin-top:12px; padding:9px; font-weight:600; }
.liste { margin:4px 0 0; padding:0; list-style:none; border:1px solid var(--bord); border-radius:4px; max-height:180px; overflow:auto; }
.liste li button { display:block; width:100%; text-align:left; background:#fff; color:#222; border:0; border-bottom:1px solid #eee; border-radius:0; }
.liste li button:hover, .liste li button:focus { background:#e8eefb; }
.chemin { margin-top:8px; font-size:12px; color:#333; word-break:break-word; }
.statut { margin-top:10px; padding:8px 10px; border-radius:4px; display:none; word-break:break-word; }
.statut.ok { display:block; background:#e6f4ea; color:var(--ok); }
.statut.err { display:block; background:#fdeceb; color:var(--err); }
.statut.warn { display:block; background:#fff4de; color:var(--warn); }
.statut.info { display:block; background:var(--fond); color:#333; }
.pied { margin-top:16px; font-size:11px; color:#777; }
.cache { display:none; }
.diag { margin-top:14px; padding:6px 8px; border:1px dashed var(--bord); border-radius:4px; font-size:11px; color:#444; word-break:break-word; }
