/* Dossier ABEL FERRY — charte AIR ENERGIE EXPERTISES
   Vert #1B6B42 (dominant) · Bleu foncé #303870 · Bleu #0060A8
   Rouge #E02028 · Jaune #F5CE02 — Georgia titres / Calibri corps */
:root{
  --vert:#1B6B42;
  --vert-clair:#E8F2EC;
  --bleu-fonce:#303870;
  --bleu:#0060A8;
  --rouge:#E02028;
  --jaune:#F5CE02;
  --gris-clair:#F4F7F5;
  --gris-texte:#5A6B62;
  --bord:#DDE5E0;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--gris-clair);color:#22302A;
  font-family:"Calibri","Carlito",Arial,"Helvetica Neue",sans-serif;
  font-size:15px;line-height:1.55;
}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--bleu-fonce);margin:0 0 .4em}
a{color:var(--bleu);text-decoration:none}
a:hover{text-decoration:underline}

/* Bandeau */
header.top{background:#fff;border-bottom:4px solid var(--vert);padding:12px 22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header.top img{height:46px}
header.top .titre{font-family:Georgia,serif;font-size:21px;color:var(--vert);font-weight:700;line-height:1.15}
header.top .sous{font-size:12.5px;color:var(--gris-texte)}
header.top .droite{margin-left:auto;text-align:right;font-size:12.5px;color:var(--gris-texte)}
header.top .droite b{color:var(--rouge)}

/* Navigation */
nav.menu{background:var(--vert);display:flex;flex-wrap:wrap;gap:2px;padding:0 14px}
nav.menu a{color:#fff;padding:11px 15px;font-size:14px;display:inline-block}
nav.menu a:hover{background:#155534;text-decoration:none}
nav.menu a.act{background:#124a2e;font-weight:700}

main{max-width:1120px;margin:0 auto;padding:22px 18px 60px}

/* Cartes */
.card{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:20px 22px;margin-bottom:18px;box-shadow:0 1px 3px rgba(27,107,66,.06)}
.card h2{border-left:5px solid var(--vert);padding-left:11px}
.card h3{color:var(--vert)}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:16px 18px;border-top:4px solid var(--vert)}
.kpi .lab{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris-texte)}
.kpi .val{font-family:Georgia,serif;font-size:30px;color:var(--bleu-fonce);font-weight:700;line-height:1.1}
.kpi.rouge{border-top-color:var(--rouge)}
.kpi.rouge .val{color:var(--rouge)}
.kpi.bleu{border-top-color:var(--bleu)}
.kpi.jaune{border-top-color:var(--jaune)}

/* Barre de progression */
.prog{background:#E3EBE6;border-radius:8px;height:14px;overflow:hidden;margin-top:8px}
.prog>span{display:block;height:100%;background:linear-gradient(90deg,var(--bleu),var(--vert));width:0}

/* Tableaux */
table{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:14px}
th{background:var(--bleu-fonce);color:#fff;text-align:left;padding:9px 11px;font-family:Georgia,serif;font-weight:400}
td{border-bottom:1px solid var(--bord);padding:9px 11px;vertical-align:top}
tr:nth-child(even) td{background:var(--gris-clair)}
.src{color:var(--gris-texte);font-size:12px}

/* Stepper */
.etape{background:#fff;border:1px solid var(--bord);border-radius:10px;margin-bottom:14px;overflow:hidden}
.etape .entete{display:flex;align-items:center;gap:14px;padding:13px 18px;background:var(--vert-clair);border-bottom:1px solid var(--bord)}
.etape.termine .entete{background:#DCEFE3}
.etape .num{width:36px;height:36px;border-radius:50%;background:var(--bleu-fonce);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:18px;flex:none}
.etape.termine .num{background:var(--vert)}
.etape .entete .t{font-family:Georgia,serif;font-size:16px;color:var(--bleu-fonce);font-weight:700}
.etape .entete .meta{font-size:12px;color:var(--gris-texte)}
.etape .entete .pct{margin-left:auto;font-size:13px;color:var(--vert);font-weight:700;white-space:nowrap}
.etape .corps{padding:8px 18px 16px}
.tache{display:flex;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--bord);align-items:flex-start}
.tache:last-child{border-bottom:none}
.tache input{margin-top:3px;width:17px;height:17px;accent-color:var(--vert);flex:none;cursor:pointer}
.tache label{cursor:pointer}
.tache.fait label{color:#8A9A90;text-decoration:line-through}
.tache .detail{display:block;font-size:12px;color:var(--gris-texte);margin-top:2px}

/* Questions / pièces */
.q{border-left:4px solid var(--jaune);background:#FFFDF0;padding:11px 14px;border-radius:0 8px 8px 0;margin-bottom:10px}
.q.posee{border-left-color:var(--vert);background:var(--vert-clair)}
.q .src{display:block;margin-top:5px}
.chips{display:flex;gap:8px;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.chip{background:var(--gris-clair);border:1px solid var(--bord);border-radius:20px;padding:4px 12px;font-size:12.5px;color:var(--bleu-fonce)}
.piece{display:flex;gap:10px;padding:8px 4px;border-bottom:1px dashed var(--bord);align-items:flex-start}
.piece input{margin-top:3px;width:17px;height:17px;accent-color:var(--vert);flex:none;cursor:pointer}
.piece .obl{color:var(--rouge);font-size:11px;font-weight:700;margin-left:6px}

/* Boutons */
.btn{display:inline-block;background:var(--vert);color:#fff;border:none;border-radius:7px;padding:9px 16px;font-size:14px;cursor:pointer;font-family:inherit}
.btn:hover{background:#155534;text-decoration:none}
.btn.bleu{background:var(--bleu)}
.btn.gris{background:var(--gris-texte)}
.btn.petit{padding:5px 11px;font-size:12.5px}

/* Chiffrage */
.calc{display:grid;grid-template-columns:1fr 2fr;gap:20px}
input[type=number],input[type=text],input[type=password]{font-family:inherit;font-size:15px;padding:9px 11px;border:1px solid var(--bord);border-radius:7px;width:100%}
.barre{height:30px;background:linear-gradient(90deg,var(--bleu),var(--vert));border-radius:5px;transition:width .25s;min-width:2px}
.grille-calc td{font-size:14px}
.grille-calc .montant{font-family:Georgia,serif;font-size:17px;color:var(--vert);font-weight:700;white-space:nowrap}

/* Synthèses (markdown) */
.md{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:24px 28px}
.md h1{font-size:24px;border-bottom:3px solid var(--vert);padding-bottom:8px}
.md h2{font-size:19px;color:var(--vert);border-left:5px solid var(--vert);padding-left:11px;margin-top:26px}
.md h3{font-size:16px;color:var(--bleu-fonce);margin-top:20px}
.md table{font-size:13px}
.md blockquote{border-left:4px solid var(--bleu);background:var(--gris-clair);margin:12px 0;padding:8px 14px;color:#33443C}
.md code{background:var(--gris-clair);padding:1px 5px;border-radius:4px;font-family:Consolas,"DejaVu Sans Mono",monospace;font-size:13px}

/* CV */
.cvgrille{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.cvitem{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:14px 16px;border-top:4px solid var(--vert)}
.cvitem h3{margin-bottom:2px}
.cvitem .aff{font-size:12.5px;color:var(--gris-texte)}
.cvitem .act{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.cvitem iframe{width:100%;height:230px;border:1px solid var(--bord);border-radius:6px;margin-top:10px;background:#f8faf9}

.badge{display:inline-block;background:var(--vert);color:#fff;border-radius:20px;padding:2px 10px;font-size:11.5px}
.badge.bleu{background:var(--bleu)}
.badge.rouge{background:var(--rouge)}
.badge.jaune{background:var(--jaune);color:#4A3B00}

.note{background:#FFFDF0;border-left:4px solid var(--jaune);padding:11px 14px;border-radius:0 8px 8px 0;margin:10px 0}
.alerte{background:#FDECEC;border-left:4px solid var(--rouge);padding:11px 14px;border-radius:0 8px 8px 0;margin:10px 0}
.ok{background:var(--vert-clair);border-left:4px solid var(--vert);padding:11px 14px;border-radius:0 8px 8px 0;margin:10px 0}

footer.pied{background:var(--bleu-fonce);color:#CFD6EE;padding:16px 22px;font-size:12.5px;text-align:center}
footer.pied b{color:#fff}

/* Connexion */
.login{max-width:390px;margin:70px auto}
.login .card{text-align:center}
.login img{height:60px;margin-bottom:10px;max-width:100%}

@media(max-width:720px){.calc{grid-template-columns:1fr}}
