:root { --fond:#f6f5f2; --carte:#fff; --texte:#1d1d1b; --doux:#6b6a65; --ligne:#e3e1db;
  --accent:#9a4b2e; --accent-doux:#f4e7e1; --ok:#2f6b3a; --ok-doux:#e5f0e6; --err:#a32020; --err-doux:#fbe6e6; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--fond); color:var(--texte); }
header { background:#2b2a27; color:#fff; padding:10px 20px; display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
header .marque { font-weight:600; }
header .marque small { color:#c9c6bd; font-weight:400; margin-left:6px; }
header nav a { color:#e8e5dc; text-decoration:none; margin-right:16px; padding:4px 0; border-bottom:2px solid transparent; }
header nav a.actif, header nav a:hover { border-color:#d99b7e; color:#fff; }
main { max-width:1280px; margin:0 auto; padding:20px; }
h1 { font-size:22px; margin:4px 0 14px; }
h2 { font-size:17px; margin:22px 0 10px; }
.carte { background:var(--carte); border:1px solid var(--ligne); border-radius:8px; padding:16px; margin-bottom:16px; }
.grille { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.kpi .val { font-size:24px; font-weight:600; }
.kpi .lib { color:var(--doux); font-size:13px; }
table { width:100%; border-collapse:collapse; background:var(--carte); }
th, td { padding:7px 9px; border-bottom:1px solid var(--ligne); text-align:left; vertical-align:top; }
th { font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:var(--doux); font-weight:600; background:#faf9f6; }
td.n, th.n { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
tr:hover td { background:#fbfaf7; }
a { color:var(--accent); }
form.ligne { display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; }
label { font-size:12px; color:var(--doux); display:flex; flex-direction:column; gap:3px; }
input, select, textarea { font:inherit; padding:6px 8px; border:1px solid #cfccc3; border-radius:5px; background:#fff; }
input.court { width:90px; }
button, .bouton { font:inherit; padding:7px 14px; border-radius:5px; border:1px solid var(--accent); background:var(--accent); color:#fff; cursor:pointer; text-decoration:none; display:inline-block; }
button.second, .bouton.second { background:#fff; color:var(--accent); }
button.danger { background:#fff; color:var(--err); border-color:var(--err); }
.flash { padding:10px 14px; border-radius:6px; margin-bottom:12px; background:var(--ok-doux); color:var(--ok); }
.flash.erreur { background:var(--err-doux); color:var(--err); }
.pastille { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; background:#eee; }
.p-brouillon { background:#eee; } .p-confirmee { background:#fff1cc; } .p-prelevee { background:#e2ecff; }
.p-expediee { background:#e3f2e4; } .p-facturee { background:#d4ead6; color:#1f5128; } .p-annulee { background:#f3dede; color:#7a2020; }
.doux { color:var(--doux); } .err { color:var(--err); } .petit { font-size:13px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.avertissement { background:#fff6dd; border:1px solid #ecd58b; padding:10px 14px; border-radius:6px; margin-bottom:14px; }
@media print { header, .actions, form, .noprint { display:none !important; } body { background:#fff; } .carte { border:none; } }
header .usager { margin-left:auto; color:#e8e5dc; font-size:14px; }
header .usager a { color:#fff; }
header .usager small { color:#c9c6bd; margin:0 6px; }
button.lien { background:none; border:none; color:#d99b7e; padding:0; cursor:pointer; font:inherit; text-decoration:underline; }
.bloque { background:#fbe6e6; border:1px solid #e3a5a5; padding:10px 14px; border-radius:6px; margin-bottom:14px; }
.p-partielle { background:#fde8c8; } .p-complete { background:#d4ead6; color:#1f5128; }
input.qte-exp { width:80px; text-align:right; }
