:root{--bg:#f6f4ef;--carte:#fff;--encre:#1d1b18;--doux:#6f6a61;--ligne:#e6e1d6;--accent:#1f5f4a;--accent-l:#e3efe9;
--rouge:#b3372b;--rouge-l:#f8e5e2;--orange:#a86412;--orange-l:#fbeedb;--bleu:#2a5a8c;--bleu-l:#e3ecf6;--r:12px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--encre);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}
a{color:var(--accent)}
header{background:var(--encre);color:#fff;position:sticky;top:0;z-index:5}
.barre{display:flex;align-items:center;gap:18px;max-width:1280px;margin:auto;padding:10px 16px;flex-wrap:wrap}
.logo{font-weight:700;letter-spacing:.3px;color:#fff;text-decoration:none;font-size:16px}
nav{display:flex;gap:2px;flex-wrap:wrap;flex:1}
nav a{color:#d8d3c8;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:14px}
nav a.on,nav a:hover{background:#3a3631;color:#fff}
.badge{background:var(--orange);color:#fff;border-radius:10px;padding:0 6px;font-size:12px;margin-left:3px}
.sync{font-size:12px;color:#b9b3a7;display:flex;gap:8px;align-items:center}
.sync button{background:#3a3631;color:#fff;border:0;border-radius:8px;padding:5px 10px;cursor:pointer}
main{max-width:1280px;margin:auto;padding:18px 16px 60px}
h1{font-size:24px;margin:6px 0 14px}h2{font-size:17px;margin:26px 0 10px}h3{font-size:15px;margin:0 0 6px}
.grille{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:14px 16px}
.kpi .l{font-size:12.5px;color:var(--doux);text-transform:uppercase;letter-spacing:.4px}
.kpi .v{font-size:25px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12.5px;color:var(--doux);margin-top:2px}
.kpi.gros .v{font-size:32px}
.vert{color:var(--accent)}.rouge{color:var(--rouge)}.orange{color:var(--orange)}.doux{color:var(--doux)}
.fond-vert{background:var(--accent-l);border-color:#c6dfd3}.fond-rouge{background:var(--rouge-l);border-color:#efcbc5}
.fond-orange{background:var(--orange-l);border-color:#efd9b5}.fond-bleu{background:var(--bleu-l);border-color:#c9d9ec}
table{width:100%;border-collapse:collapse;background:var(--carte);font-variant-numeric:tabular-nums}
.tab{overflow-x:auto;border:1px solid var(--ligne);border-radius:var(--r)}
th,td{padding:8px 10px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top;font-size:14px}
th{background:#faf8f3;font-size:12px;color:var(--doux);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
td.n,th.n{text-align:right;white-space:nowrap}
tr:last-child td{border-bottom:0}
tr.total td{font-weight:700;background:#faf8f3}
tr.annule td{color:#a49e94;text-decoration:line-through}
.pill{display:inline-block;padding:1px 8px;border-radius:20px;font-size:12px;background:#eee9df;color:#4d483f;white-space:nowrap}
.pill.vert{background:var(--accent-l);color:var(--accent)}.pill.rouge{background:var(--rouge-l);color:var(--rouge)}
.pill.orange{background:var(--orange-l);color:var(--orange)}.pill.bleu{background:var(--bleu-l);color:var(--bleu)}
.btn,button.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:9px;padding:8px 14px;font-size:14px;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--encre);border:1px solid var(--ligne)}.btn.petit{padding:4px 9px;font-size:13px}
.btn.danger{background:#fff;color:var(--rouge);border:1px solid #efcbc5}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #d6d0c4;border-radius:8px;background:#fff;max-width:100%}
input[type=number]{width:110px}
label{font-size:13px;color:var(--doux);display:block;margin-bottom:3px}
.champs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.champs input,.champs select,.champs textarea{width:100%}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:12px}
.flash.ok{background:var(--accent-l);color:var(--accent)}.flash.erreur{background:var(--rouge-l);color:var(--rouge)}
.live-banniere{background:#c0392b;color:#fff;text-align:center;padding:6px;font-size:14px}
.live-banniere a{color:#fff;font-weight:700}
.photo{width:44px;height:44px;object-fit:cover;border-radius:8px;background:#eee;display:block}
.photo.g{width:120px;height:120px}
.ligne-flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.entre{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.onglets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.onglets a{padding:5px 12px;border-radius:20px;background:#fff;border:1px solid var(--ligne);text-decoration:none;color:var(--encre);font-size:14px}
.onglets a.on{background:var(--encre);color:#fff;border-color:var(--encre)}
.calc{font-size:14px}.calc div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--ligne)}
.calc div:last-child{border:0}.calc .fort{font-weight:700;font-size:15.5px}
.indice{font-size:12px;color:var(--doux);max-width:420px}
details summary{cursor:pointer;color:var(--accent)}
.aide{font-size:13px;color:var(--doux);margin:4px 0 12px}
.check li{margin:6px 0}
small{color:var(--doux)}
@media(max-width:700px){.kpi .v{font-size:21px}.kpi.gros .v{font-size:26px}h1{font-size:20px}nav a{padding:5px 7px;font-size:13px}}
.flash.info{background:var(--bleu-l);color:var(--bleu);font-size:13px}
