/* Espace public EnergIng : feuille de style selon la charte graphique 2026.
   Palette : vert fougere 546E4D (titres, pastilles, liens), vert kombu 384935
   (gros titres), ivoire F9F7E7 (fonds chauds), vert teinte EEF2EC (cartes),
   onyx 363844 (texte), brun fonce 524C4B (texte secondaire), gris clair D0D5D2
   (filets), gris argent F4F4F4 (zones techniques). Blanc dominant, cartes
   teintees a coins de 2 mm sans ombre ni bordure, pastilles rondes vert fougere
   a icone blanche, pictogrammes Lucide, pas de bande de couleur, pas de trait
   sous les titres, pas de degrade, pas d'ombre portee. Montserrat seule (Lora
   italique pour l'accroche). Aucune couleur hors palette : les etats et les
   erreurs se disent avec les verts, l'ivoire et le brun fonce. */
@font-face{font-family:Montserrat;font-weight:400;font-style:normal;src:url(/fonts/Montserrat-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:Montserrat;font-weight:600;font-style:normal;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-display:swap}
@font-face{font-family:Montserrat;font-weight:700;font-style:normal;src:url(/fonts/Montserrat-Bold.ttf) format("truetype");font-display:swap}
@font-face{font-family:Lora;font-weight:400;font-style:italic;src:url(/fonts/Lora-Italic.ttf) format("truetype");font-display:swap}

:root{--fougere:#546E4D;--kombu:#384935;--ivoire:#F9F7E7;--teinte:#EEF2EC;--onyx:#363844;--brun:#524C4B;--gris:#D0D5D2;--argent:#F4F4F4;--rayon:8px}
*{box-sizing:border-box}
html,body{margin:0;background:#fff;color:var(--onyx);font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.5;font-synthesis:none;-webkit-text-size-adjust:100%}
a{color:var(--fougere)}
h1,h2,h3,h4{margin:0;font-family:Montserrat,Arial,sans-serif;text-wrap:balance}
p{margin:6px 0}
[hidden]{display:none !important}
.ico{flex:none;vertical-align:-3px}

/* En-tete : blanc, logo, accroche Lora, filet gris clair (pas de bande de couleur) */
.entete{max-width:640px;margin:0 auto;padding:18px 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.entete .logo{height:38px;width:auto}
.entete .sous{font-size:13px;font-weight:600;color:var(--fougere)}
.accroche{max-width:640px;margin:0 auto;padding:0 16px 12px;font-family:Lora,Georgia,serif;font-style:italic;font-size:14.5px;color:var(--kombu)}
.filet{max-width:640px;margin:0 auto;border:0;border-top:1px solid var(--gris)}

.corps{max-width:640px;margin:0 auto;padding:18px 16px 32px;display:flex;flex-direction:column;gap:14px}

/* Cartes teintees : coins 2 mm, aucune ombre, aucune bordure */
.carte{background:var(--teinte);border-radius:var(--rayon);padding:16px 18px}
.carte h1{font-size:20px;font-weight:700;color:var(--kombu);margin:0 0 8px}
.carte h2{font-size:15px;font-weight:600;color:var(--fougere);margin:0 0 6px}
.titre-carte{display:flex;align-items:center;gap:10px}
.titre-carte .pastille{flex:none}
.ligne{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:4px 0;border-top:1px solid var(--gris)}
.ligne:first-of-type{border-top:0}
.ligne span:first-child{color:var(--brun);flex:none}
.ligne span:last-child{text-align:right;word-break:break-word}
.ligne.longue{flex-direction:column;gap:2px}
.ligne.longue span:last-child{text-align:left}

/* Pastilles : cercle plein vert fougere, icone blanche, meme taille partout */
.pastille{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--fougere);color:#fff;font-size:13px;font-weight:600;flex:none}
.pastille.teintee{background:var(--teinte);color:var(--fougere)}

/* Etats (palette seule) */
.statut{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:6px;font-weight:600;font-size:14px}
.s-attente{background:var(--ivoire);color:var(--brun)}
.s-info{background:var(--teinte);color:var(--fougere)}
.s-ok{background:var(--fougere);color:#fff}

/* Frise : processus de la charte (numeros en vert, pastilles alignees, filet gris) */
.frise{list-style:none;margin:0;padding:0 2px;display:flex;flex-direction:column}
.frise li{position:relative;display:flex;gap:12px;align-items:flex-start;padding:0 0 14px 0;font-size:14px;color:var(--brun)}
.frise li::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:var(--gris)}
.frise li:last-child::before{display:none}
.frise .pastille{background:#fff;color:var(--brun);border:1.5px solid var(--gris);width:28px;height:28px}
.frise li.fait .pastille{background:var(--fougere);color:#fff;border-color:var(--fougere)}
.frise li.fait{color:var(--onyx)}
.frise li.actuel{color:var(--onyx);font-weight:600}
.frise li.actuel .pastille{background:var(--fougere);color:#fff;border-color:var(--fougere);box-shadow:0 0 0 4px var(--teinte)}
.frise .date{display:block;font-weight:400;font-size:12.5px;color:var(--brun)}
.frise .lib{padding-top:4px}

/* Boutons */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:6px;font-weight:600;font-size:15px;border:0;cursor:pointer;font-family:inherit;text-decoration:none}
.btn.p{background:var(--fougere);color:#fff}
.btn.s{background:#fff;color:var(--fougere);border:1.5px solid var(--gris)}
.btn.l{background:none;color:var(--fougere);text-decoration:underline;font-weight:500}
.btn.petit{display:inline-flex;width:auto;padding:8px 12px;font-size:13.5px;margin:0}
.btn+.btn{margin-top:8px}
.btn:disabled{opacity:.55;cursor:default}
.lien{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--fougere);font-size:14px;margin-top:4px}

/* Avertissements et messages : ivoire + brun fonce (bon / mauvais = vert / brun) */
.avert,.erreur{display:flex;gap:10px;align-items:flex-start;background:var(--ivoire);color:var(--brun);border-radius:var(--rayon);padding:12px 14px;font-size:13.5px}
.avert .ico,.erreur .ico{color:var(--fougere);margin-top:2px}
.erreur{font-weight:600;margin:8px 0}
.erreur-texte{color:var(--brun);font-weight:600}
.info-ok{display:flex;gap:10px;align-items:flex-start;background:var(--teinte);color:var(--fougere);border-radius:var(--rayon);padding:12px 14px;font-size:13.5px;font-weight:600}
.aide{font-size:12.5px;color:var(--brun);margin:8px 0 0}

/* Formulaires */
.champ{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:14px}
.champ span{color:var(--brun);font-size:13px;font-weight:600}
.champ input,.champ textarea{font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--gris);border-radius:6px;background:#fff;color:var(--onyx);width:100%}
.champ input:focus,.champ textarea:focus{outline:2px solid var(--fougere);outline-offset:1px;border-color:var(--fougere)}
.champ input.code{font-size:24px;font-weight:600;text-align:center;letter-spacing:.3em}
.champ textarea{resize:vertical;min-height:72px}
.champ input:disabled,.champ textarea:disabled{background:var(--argent);color:var(--brun)}
.case{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:15px;font-weight:600;cursor:pointer}
.case input{width:22px;height:22px;accent-color:var(--fougere);flex:none;margin:0}
.progression{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--brun);padding:4px 0}
.progression.complet{color:var(--fougere)}

/* Liste des defauts */
h2.etage{font-size:16px;font-weight:700;color:var(--kombu);margin:8px 0 0}
h3.lieu{font-size:14px;font-weight:600;color:var(--brun);margin:2px 0 0}
.defaut{background:var(--teinte);border-radius:var(--rayon);padding:14px 16px}
.defaut h4{font-size:15px;font-weight:600;color:var(--kombu);display:flex;gap:10px;align-items:center;margin-bottom:6px}
.defaut .texte{margin:0 0 8px;font-size:14px;white-space:pre-wrap}
.zone{background:#fff;border-radius:6px;padding:10px 12px;margin-top:8px}
.zone-titre{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fougere);font-weight:600;margin-bottom:2px}
.etat-point{font-size:12.5px;color:var(--brun);min-height:16px;margin:2px 0 6px}
.etat-point.ok{color:var(--fougere)}.etat-point.ko{color:var(--brun);font-weight:600}
.photos{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.vignette{position:relative;width:88px;height:88px;border-radius:6px;overflow:hidden;background:var(--argent)}
.vignette img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}
.vignette.absente::after{content:"photo indisponible";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--brun);text-align:center;padding:4px}
.vignette .retirer{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;background:var(--kombu);color:#fff;border:0;border-radius:50%;width:24px;height:24px;cursor:pointer;padding:0}
.boutons-photo{display:flex;gap:8px;flex-wrap:wrap}
.liste{margin:4px 0 8px;padding-left:20px;font-size:14px}

.pied{max-width:640px;margin:0 auto;text-align:center;font-size:12px;color:var(--brun);padding:14px 16px 28px;border-top:1px solid var(--gris)}
