* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, Arial, sans-serif; background: #f3f5f8; color: #1f2933; }
header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
         padding: 14px 24px; background: #1d3a6e; color: #fff; }
header nav a { color: #fff; text-decoration: none; margin-left: 18px; }
header nav a:hover { text-decoration: underline; }
main { max-width: 1000px; margin: 30px auto; padding: 0 16px; }
h1 { font-size: 1.6rem; margin-top: 0; }
.carte { background: #fff; border-radius: 8px; padding: 22px; margin-bottom: 22px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.carte.petite { max-width: 460px; margin: 40px auto; }
form label { display: block; margin-bottom: 14px; font-weight: 600; }
input[type=text], input[type=password], select, input[type=file] {
  display: block; width: 100%; margin-top: 6px; padding: 9px; border: 1px solid #c5ccd6; border-radius: 5px; font: inherit; font-weight: normal; }
button, .bouton { background: #1d3a6e; color: #fff; border: 0; border-radius: 5px; padding: 8px 14px;
                  font: inherit; cursor: pointer; text-decoration: none; display: inline-block; }
form > button { margin-top: 14px; width: 100%; padding: 11px; }
button:hover, .bouton:hover { background: #142a52; }
button.danger { background: #b42318; }
button.danger:hover { background: #8c1b12; }
small { color: #616e7c; }
.alerte { padding: 10px 12px; border-radius: 5px; }
.alerte.erreur { background: #fde8e7; color: #8c1b12; }
.alerte.succes { background: #e3f6e8; color: #1b5e2b; }
.filtres { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.filtres a { padding: 6px 12px; border-radius: 20px; background: #fff; color: #1d3a6e; text-decoration: none; border: 1px solid #c5ccd6; }
.filtres a.actif { background: #1d3a6e; color: #fff; border-color: #1d3a6e; }
h2 { margin-top: 0; font-size: 1.2rem; }
.compte { background: #e4e9f2; color: #1d3a6e; border-radius: 10px; padding: 2px 9px; font-size: .85rem; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 9px 8px; border-bottom: 1px solid #e4e7eb; vertical-align: middle; }
th { font-size: .85rem; color: #616e7c; }
.discret { color: #616e7c; font-size: .9rem; }
.actions { white-space: nowrap; text-align: right; }
.actions form { display: inline; }
.vide { color: #616e7c; }
.en-ligne { display: flex; gap: 8px; align-items: center; }
.en-ligne input[type=text] { margin-top: 0; flex: 1; }
.en-ligne button { white-space: nowrap; }
button.petit { padding: 4px 8px; font-size: .8rem; }
button:disabled { opacity: .35; cursor: not-allowed; }
td.ordre { width: 80px; white-space: nowrap; }
.en-ligne > button, td form > button { width: auto; margin-top: 0; padding: 8px 14px; }
td form > button.petit { padding: 4px 8px; }
