
  *{box-sizing:border-box;margin:0}
  body{margin:0;font-family:'Instrument Sans',system-ui,'Segoe UI',sans-serif;color:#0d0f0c;background:#fafaf8}
  h1,h2,h3,.brand b{font-family:'Schibsted Grotesk','Instrument Sans',sans-serif}
  a{color:#3f6212;text-decoration:none;font-weight:600} a:hover{color:#1a2e05}
  .mono{font-family:'Geist Mono','SF Mono',Consolas,monospace;font-variant-numeric:tabular-nums}
  .app{display:grid;grid-template-columns:216px minmax(0,1fr);width:1440px;height:900px;background:#fafaf8}
  .side{background:#0d0f0c;color:#d9ddd0;display:flex;flex-direction:column;padding:0 0 16px}
  .brand{padding:22px 20px 18px;border-bottom:1px solid #23261f}
  .brand b{color:#fff;font-size:21px;letter-spacing:.02em;font-weight:800}
  .brand b em{font-style:normal;color:#c8f31d}
  .brand span{display:block;font-size:10px;color:#8a9086;letter-spacing:.16em;margin-top:3px}
  .nav{display:flex;flex-direction:column;gap:2px;padding:12px 10px;flex:1}
  .nav a{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:8px;color:#b9bfae;font-size:13.5px;font-weight:500}
  .nav a svg{flex:0 0 17px}
  .nav a.on{background:#c8f31d;color:#0d0f0c;font-weight:700}
  .nav .sec{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#6b7263;padding:14px 11px 4px}
  .sfoot{padding:12px 20px;border-top:1px solid #23261f;font-size:10.5px;color:#7d8574}
  .main{display:flex;flex-direction:column;min-width:0}
  .top{height:56px;background:#fafaf8;border-bottom:1px solid #e6e8e3;display:flex;align-items:center;gap:16px;padding:0 24px}
  .top h1{font-size:17px;font-weight:700;letter-spacing:-.01em}
  .site{display:flex;align-items:center;gap:6px;border:1px solid #dde1d6;border-radius:8px;padding:6px 11px;font-size:12.5px;color:#2a2e26;background:#fff}
  .grow{flex:1}
  .user{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#2a2e26}
  .avatar{width:28px;height:28px;border-radius:8px;background:#0d0f0c;color:#c8f31d;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
  .content{flex:1;padding:20px 24px;display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}
  .card{background:#fff;border:1px solid #e6e8e3;border-radius:12px}
  .card h3{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#5b6154;padding:12px 16px;border-bottom:1px solid #eff1ea;font-weight:700}
  .pill{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:2px 9px;font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.01em}
  .p-auto{background:#e3f2e9;color:#15803d}.p-faible{background:#f7edd6;color:#9a6b13}
  .p-revoir{background:#f8e6e0;color:#b3462e}.p-ok{background:#ecf7c8;color:#3f6212}
  .p-gris{background:#eff1ea;color:#5b6154}.p-exp{background:#e3f2e9;color:#15803d}
  .prov{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#5b6154;background:#eff1ea;border-radius:5px;padding:1px 6px}
  .prov.mem{background:#ecf7c8;color:#3f6212}.prov.hum{background:#0d0f0c;color:#c8f31d}
  table{border-collapse:collapse;width:100%;font-size:12.5px}
  th{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#7c8274;text-align:left;padding:8px 14px;border-bottom:1px solid #eff1ea;font-weight:700}
  td{padding:9px 14px;border-bottom:1px solid #f3f5ee;color:#2a2e26}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:700;border:1px solid transparent;cursor:default}
  .btn.pri{background:#c8f31d;color:#0d0f0c}.btn.sec{background:#fff;border-color:#cdd2c4;color:#0d0f0c}
  .btn.ghost{background:none;color:#5b6154;font-weight:600}
  .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
  .d-ok{background:#65a30d}.d-warn{background:#e2a63b}.d-ko{background:#cf5340}
  input[type=text],input[type=password]{font:inherit;border:1px solid #cdd2c4;border-radius:8px;padding:9px 11px;width:100%;background:#fff;color:#0d0f0c}

/* ------- ajouts application (formulaires, alertes, états vides) ------- */
.bandeau{display:flex;gap:.6rem;flex-wrap:wrap}
.alerte{display:flex;align-items:center;gap:8px;border-radius:8px;padding:8px 12px;font-size:12.5px;border:1px solid}
.alerte.attention{background:#f7edd6;border-color:#e6cf9a;color:#9a6b13}
.alerte.erreur{background:#f8e6e0;border-color:#e8b8a8;color:#b3462e}
.alerte.ok{background:#e3f2e9;border-color:#9ed0af;color:#15803d}
.vide{padding:2.4rem;text-align:center;color:#7c8274;font-size:13px}
label.champ{display:grid;grid-template-columns:104px 1fr auto;gap:.55rem;align-items:center;margin:.5rem 0}
.nomchamp{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5b6154}
select,textarea{font:inherit;border:1px solid #cdd2c4;border-radius:8px;padding:8px 10px;background:#fff;color:#0d0f0c}
.kpi{flex:1;background:#fff;border:1px solid #e6e8e3;border-radius:12px;padding:14px 16px}
.kpi b{display:block;font-family:'Geist Mono',monospace;font-size:24px;font-weight:600}
.kpi span{font-size:12px;color:#5b6154}
.kpi .sous{font-size:10.5px;color:#8c9284}
a.ligne{color:inherit;text-decoration:none}
tr:hover td{background:#fbfcf7}
.barre{display:flex;align-items:flex-end;gap:9px;height:150px;padding:14px 18px}
.barre i{flex:1;background:#c8f31d;border-radius:3px 3px 0 0;display:block;min-height:2px}
.chip{display:inline-flex;gap:6px;align-items:center;border:1px solid #dde1d6;background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;color:#2a2e26}
.chip.on{background:#0d0f0c;color:#c8f31d;border-color:#0d0f0c;font-weight:700}
form.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.doc-page{background:#eceee5;border-radius:12px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.doc-page img{width:100%;display:block}
