:root{
  --bleu:#16305C; --bleu-deep:#0D2044; --rouge:#B3222C; --or:#E4A93A;
  --sable:#F6F2E9; --encre:#1B1B18; --gris:#6B6459; --ligne:#E1D9C8;
}
*{box-sizing:border-box;}
body{
  font-family:'Segoe UI', Arial, sans-serif;
  background:var(--sable);
  color:var(--encre);
  margin:0;
  line-height:1.5;
}
.topbar{
  background:var(--bleu-deep); color:#fff; padding:14px 28px;
  display:flex; justify-content:space-between; align-items:center;
}
.topbar a{color:var(--or); text-decoration:none; font-weight:600;}
.wrap{max-width:960px; margin:32px auto; padding:0 20px;}
h1{font-size:1.5rem; color:var(--bleu-deep); margin-bottom:6px;}
.sub{color:var(--gris); margin-bottom:24px;}
.card{
  background:#fff; border:1px solid var(--ligne); border-radius:6px;
  padding:24px; margin-bottom:24px;
}
.field{margin-bottom:16px;}
.field label{display:block; font-weight:600; margin-bottom:6px; font-size:0.92rem;}
.field input[type=text], .field input[type=date], .field input[type=url],
.field input[type=password], .field textarea, .field select{
  width:100%; padding:10px 12px; border:1px solid var(--ligne); border-radius:4px;
  font-family:inherit; font-size:0.95rem;
}
.field textarea{resize:vertical;}
.field small{color:var(--gris); display:block; margin-top:4px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.btn{
  display:inline-block; padding:11px 22px; border:none; border-radius:4px;
  font-weight:600; cursor:pointer; font-size:0.92rem; text-decoration:none;
}
.btn-primary{background:var(--rouge); color:#fff;}
.btn-secondary{background:var(--ligne); color:var(--encre);}
.btn-danger{background:#961b23; color:#fff;}
.btn-small{padding:6px 12px; font-size:0.82rem;}
table{width:100%; border-collapse:collapse; margin-top:8px;}
th, td{text-align:left; padding:10px 8px; border-bottom:1px solid var(--ligne); font-size:0.92rem; vertical-align:top;}
th{color:var(--gris); text-transform:uppercase; font-size:0.72rem; letter-spacing:0.05em;}
.thumb-mini{width:64px; height:44px; object-fit:cover; border-radius:3px; background:var(--bleu);}
.actions a{margin-right:10px;}
.flash{padding:12px 16px; border-radius:4px; margin-bottom:20px; font-size:0.92rem;}
.flash.ok{background:#e6f4ea; color:#1e6b34; border:1px solid #b7dcc2;}
.flash.err{background:#fbe7e7; color:#961b23; border:1px solid #f0bcbc;}
.login-box{max-width:380px; margin:80px auto;}
.type-toggle{display:flex; gap:16px; margin-bottom:14px;}
.type-toggle label{font-weight:500; font-size:0.9rem; display:flex; align-items:center; gap:6px;}
