:root{--sauge: #9aac94;--sauge-fonce: #6e8268;--encre: #24272a;--texte: #3c4147;--gris: #7a828a;--trait: #e4e6e3;--fond: #f6f7f5;--carte: #ffffff;--vert: #2e7d43;--vert-fond: #e8f3ea;--ambre: #9a6b12;--ambre-fond: #fdf3e0;--rouge: #a8342c;--rouge-fond: #fbecea;--bleu: #38567c;--bleu-fond: #eaeff7;--rayon: 10px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Helvetica Neue,Arial,system-ui,sans-serif;background:var(--fond);color:var(--texte);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.nav{width:232px;flex:0 0 232px;background:var(--encre);color:#d8dcd6;padding:22px 16px;display:flex;flex-direction:column;gap:4px}.nav .marque{display:flex;align-items:center;gap:10px;margin-bottom:26px;padding:0 8px}.nav .marque img{width:34px;height:34px}.nav .marque b{color:#fff;font-size:15px;font-weight:600;letter-spacing:-.2px}.nav .marque span{display:block;color:#8f978c;font-size:11px;font-weight:400}.nav a.item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13.5px;color:#c5cbc2}.nav a.item:hover{background:#32363a;color:#fff}.nav a.item[aria-current=page]{background:var(--sauge-fonce);color:#fff;font-weight:500}.nav .bas{margin-top:auto;border-top:1px solid #3a3f43;padding-top:14px}.nav .bas .qui{padding:0 12px 8px;font-size:12px;color:#8f978c}.main{flex:1;min-width:0;padding:26px 30px 60px}.entete{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.entete h1{margin:0;font-size:23px;font-weight:600;color:var(--encre);letter-spacing:-.3px}.entete p{margin:4px 0 0;color:var(--gris);font-size:13px}.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:26px}.tuile{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:16px 18px}.tuile .lbl{color:var(--gris);font-size:12px;margin-bottom:6px}.tuile .val{font-size:24px;font-weight:600;color:var(--encre);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.tuile .sous{color:var(--gris);font-size:12px;margin-top:4px}.tuile.alerte{border-color:#e8cfa8;background:var(--ambre-fond)}.tuile.alerte .val{color:var(--ambre)}.bloc{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden;margin-bottom:22px}.bloc>h2{margin:0;padding:14px 18px;font-size:14px;font-weight:600;color:var(--encre);border-bottom:1px solid var(--trait)}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11.5px;font-weight:500;color:var(--gris);padding:10px 18px;border-bottom:1px solid var(--trait)}tbody td{padding:12px 18px;border-bottom:1px solid #f0f1ef;font-size:13.5px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfa}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.mono{font-variant-numeric:tabular-nums}.fort{font-weight:600;color:var(--encre)}.etat{display:inline-block;padding:3px 9px;border-radius:11px;font-size:11.5px;white-space:nowrap}.etat.brouillon{background:#eef0ee;color:#5f6660}.etat.envoye,.etat.emise{background:var(--bleu-fond);color:var(--bleu)}.etat.accepte,.etat.payee{background:var(--vert-fond);color:var(--vert)}.etat.partiel{background:var(--ambre-fond);color:var(--ambre)}.etat.refuse,.etat.annule{background:var(--rouge-fond);color:var(--rouge)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:8px;border:1px solid var(--trait);background:var(--carte);color:var(--texte);font-size:13.5px;cursor:pointer;font-family:inherit}.btn:hover{border-color:#cdd1cb}.btn.primaire{background:var(--sauge-fonce);border-color:var(--sauge-fonce);color:#fff}.btn.primaire:hover{background:#5f7159}label{display:block;font-size:12.5px;color:var(--gris);margin-bottom:5px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--trait);border-radius:8px;font-family:inherit;font-size:14px;color:var(--texte);background:var(--carte)}input:focus,select:focus,textarea:focus{outline:2px solid var(--sauge);outline-offset:-1px;border-color:var(--sauge)}.champ{margin-bottom:14px}.vide{padding:34px 18px;text-align:center;color:var(--gris);font-size:13.5px}.erreur{background:var(--rouge-fond);color:var(--rouge);border:1px solid #eecfca;border-radius:8px;padding:10px 13px;font-size:13px;margin-bottom:14px}.succes{background:var(--vert-fond);color:var(--vert);border:1px solid #c9e4d0;border-radius:8px;padding:10px 13px;font-size:13px;margin-bottom:14px}.connexion{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.connexion .boite{width:100%;max-width:360px;background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:30px 28px}.connexion .logo{display:block;width:52px;height:52px;margin:0 auto 16px}.connexion h1{margin:0 0 4px;font-size:19px;font-weight:600;text-align:center;color:var(--encre)}.connexion .sous{text-align:center;color:var(--gris);font-size:13px;margin-bottom:22px}@media(max-width:820px){.app{flex-direction:column}.nav{width:auto;flex:none;flex-direction:row;overflow-x:auto;padding:12px}.nav .marque,.nav .bas{display:none}.main{padding:18px 16px 50px}}.nav .groupe{padding:14px 12px 5px;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:#6f776c}.jauge{height:7px;border-radius:4px;background:#e9ebe8;overflow:hidden}.jauge>span{display:block;height:100%;background:var(--sauge-fonce)}.jauge.ok>span{background:var(--vert)}.jauge.attention>span{background:#c9922f}.jauge.danger>span{background:var(--rouge)}.sante{display:inline-block;padding:3px 9px;border-radius:11px;font-size:11.5px;white-space:nowrap}.sante.bonne{background:var(--vert-fond);color:var(--vert)}.sante.vigilance{background:var(--ambre-fond);color:var(--ambre)}.sante.alerte{background:var(--rouge-fond);color:var(--rouge)}.pos{color:var(--vert);font-weight:600}.neg{color:var(--rouge);font-weight:600}.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.grille>*{min-width:0!important}.pleine{grid-column:1 / -1}.grille>.large{grid-column:span 2}@media(max-width:520px){.grille>.large{grid-column:auto}}.depot{border:1.5px dashed var(--trait);border-radius:var(--rayon);padding:22px;text-align:center;background:#fbfcfb}
