body.centre { display:grid; place-items:center; min-height:100vh; }
.boite { width:min(380px, 92vw); display:grid; gap:12px; }
.boite form { margin-top:0; }
.boite h2 { margin:0; color:var(--bleu); }
.barre { display:flex; justify-content:space-between; align-items:center; background:var(--bleu); color:#fff; padding:12px 18px; }
.barre form { margin:0; }
.petit { padding:6px 14px; background:var(--rouge); }
.large { max-width:1250px; margin:18px auto; padding:0 12px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.chip { padding:5px 12px; border-radius:20px; background:#e3eefa; color:var(--bleu); text-decoration:none; font-size:.85rem; font-weight:600; }
.chip.actif { background:var(--bleu); color:#fff; }
.recherche { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.recherche input[type=search] { flex:1 1 260px; width:auto; }
.recherche button, .recherche .btn { padding:10px 16px; }
.defile { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.88rem; white-space:nowrap; }
th, td { padding:8px 10px; border-bottom:1px solid #e3e8ee; text-align:left; }
th { background:#f1f6fb; position:sticky; top:0; }
tbody tr:hover { background:#f8fbff; }
.mini { width:42px; height:54px; object-fit:cover; border-radius:5px; display:block; }
.vide { text-align:center; color:#778; padding:24px; }
.pagination { display:flex; justify-content:center; gap:16px; align-items:center; margin-top:16px; }
.pagination a { color:var(--bleu); font-weight:700; text-decoration:none; }

form.inline { display:flex; gap:6px; margin:0; }
.ok-btn { padding:6px 12px; background:#1a8a3a; }
td .badge { white-space:nowrap; }
