:root{--indigo:#2f2a6b;--lav:#8e88c8;--fond:#f6f5fb;--ligne:#d9d7ea;--txt:#1e1e2a;--ok:#1f7a3a;--ko:#a2261f}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 Calibri,"Segoe UI",system-ui,sans-serif;color:var(--txt);background:var(--fond)}
header{display:flex;align-items:center;justify-content:space-between;background:var(--indigo);color:#fff;padding:.6rem 1.2rem}
header a{color:#fff;text-decoration:none}.marque{font-weight:700;font-size:1.1rem}nav.haut{display:flex;gap:1rem;align-items:center}
.qui{opacity:.8}button.lien{background:none;border:0;color:inherit;cursor:pointer;text-decoration:underline;padding:0;font:inherit}
nav.onglets{display:flex;flex-wrap:wrap;gap:.3rem;padding:.6rem 1.2rem 0;background:#fff;border-bottom:1px solid var(--ligne);align-items:center}
nav.onglets a{padding:.4rem .7rem;border-radius:6px 6px 0 0;text-decoration:none;color:var(--indigo)}nav.onglets a.actif{background:var(--fond);border:1px solid var(--ligne);border-bottom-color:var(--fond)}
nav.onglets .appliquer{margin-left:auto}nav.onglets .appliquer button{background:var(--indigo);color:#fff;border:0;padding:.45rem .9rem;border-radius:6px;cursor:pointer}
h1{font-size:1.2rem;margin:.8rem 1.2rem 0;color:var(--indigo)}h2{font-size:1.05rem;color:var(--indigo);margin:1.4rem 0 .5rem}
main{max-width:980px;margin:0 auto;padding:1rem 1.2rem 3rem}
.msg{background:#e6f4ea;color:var(--ok);padding:.5rem .8rem;border-radius:6px}.err{background:#fbe9e7;color:var(--ko);padding:.5rem .8rem;border-radius:6px}
.formulaire{background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:1rem 1.2rem}.formulaire.compact{margin-top:.6rem}
.champ{display:grid;grid-template-columns:260px 1fr;gap:.3rem 1rem;align-items:start;padding:.55rem 0;border-bottom:1px solid var(--fond)}
.champ .lib{font-weight:600}.champ small.aide{grid-column:2;color:#666}.champ .lib small{font-weight:400;color:#666}
input:not([type=checkbox]),select,textarea{width:100%;max-width:560px;padding:.4rem .5rem;border:1px solid var(--ligne);border-radius:5px;font:inherit}
textarea{font-family:ui-monospace,Menlo,monospace;font-size:.9rem}.type-booleen input{width:auto;justify-self:start;margin-top:.3rem}
fieldset{border:1px solid var(--ligne);border-radius:6px;margin:.8rem 0;padding:.6rem 1rem}legend{font-weight:600;color:var(--indigo)}
fieldset.prefixe .cle{display:grid;grid-template-columns:200px 1fr;gap:.6rem;align-items:start;margin:.4rem 0}.cle span{font-family:ui-monospace,monospace;font-size:.9rem;padding-top:.4rem}
.ligne{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:end}.ligne label{display:flex;flex-direction:column;gap:.2rem}.ligne label input[type=checkbox]{margin-right:.3rem}
.jours label{flex-direction:row;align-items:center}.tag{font-size:.7rem;background:var(--lav);color:#fff;padding:.05rem .35rem;border-radius:4px;vertical-align:middle}
p.aide{color:#666;font-size:.9rem}p.actions{margin:1rem 0 0}p.actions button,.ligne button{background:var(--indigo);color:#fff;border:0;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font:inherit}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ligne);border-radius:8px}th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--fond);vertical-align:top}th{background:var(--fond);color:var(--indigo)}
table.routage select,table.routage input{max-width:220px}pre{white-space:pre-wrap;font-size:.85rem;max-height:300px;overflow:auto}
.etat-reussie{color:var(--ok)}.etat-echec,.etat-retour_arriere{color:var(--ko)}.etat-en_cours{color:#b26a00}
body.connexion main{display:flex;justify-content:center;padding-top:10vh}.carte{background:#fff;border:1px solid var(--ligne);border-radius:10px;padding:1.5rem 2rem;width:340px;display:flex;flex-direction:column;gap:.8rem}
.carte h1{margin:0}.carte label{display:flex;flex-direction:column;gap:.25rem}.carte button{background:var(--indigo);color:#fff;border:0;padding:.55rem;border-radius:6px;cursor:pointer;font:inherit}
@media(max-width:640px){.champ,fieldset.prefixe .cle{grid-template-columns:1fr}}
