/* Espace client, charte Vert Habitat Construction (version 2026) */
@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Public+Sans:wght@400;500;600;700&display=swap");

:root{
  --bg:#F9F6F1; --sable:#EDE5D8; --surface:#FFFFFF; --ligne:#DDD0BF;
  --fg:#2A211B; --muted:#6E5F53; --brun:#2E1F10; --brun-2:#4A3426; --terre:#C4622D; --terre-fonce:#A9521F;
  --vert:#4E8A3A; --jaune:#E0B23C; --erreur:#A3341F; --creme:#F4EEE5; --terre-clair:#E8A57E;
  --f-display:"Archivo",system-ui,sans-serif;
  --f-body:"Public Sans",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  /* conservée pour compatibilité avec d'anciennes pages */
  --f-mono:var(--f-body);
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
a{color:inherit}

/* En-tête : barre blanche + logo Vert Habitat (version foncée ; le logo d'origine est masqué) */
.top{background:var(--surface);border-bottom:1px solid var(--ligne)}
.top .in{max-width:1040px;margin:0 auto;padding:0 20px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .logo{width:46px;height:46px;flex:none;background:transparent;border-radius:4px;display:grid;place-items:center;padding:0;box-shadow:none;position:relative}
.logo svg,.logo small{display:none}
.logo::before{content:"";width:46px;height:46px;background:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20200%20200%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22er%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%233F7A2C%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232B5520%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d%3D%22M100%2018%20L182%2096%20L160%2096%20L150%2086%20L150%2060%20L133%2060%20L133%2070%20L100%2040%20L67%2070%20L40%2096%20L18%2096%20Z%22%20fill%3D%22url%28%23er%29%22/%3E%3Cpath%20d%3D%22M36%20176%20L36%20104%20L100%2052%20L164%20104%20L164%20176%20Z%22%20fill%3D%22none%22%20stroke%3D%22%234E8A3A%22%20stroke-width%3D%2215%22%20stroke-linejoin%3D%22round%22/%3E%3Cpath%20d%3D%22M100%20178%20C100%20150%20100%20140%20100%20120%22%20fill%3D%22none%22%20stroke%3D%22%234E8A3A%22%20stroke-width%3D%229%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M100%20128%20C74%20128%2060%20108%2062%2086%20C88%2086%20102%20106%20100%20128%20Z%22%20fill%3D%22%23336B26%22/%3E%3Cpath%20d%3D%22M100%20122%20C126%20122%20142%20100%20140%2078%20C112%2080%2098%20100%20100%20122%20Z%22%20fill%3D%22%236A9E45%22/%3E%3C/svg%3E") center/contain no-repeat}
.brand b{font-family:var(--f-display);font-weight:800;font-size:1.1rem;display:block;line-height:1.15;color:var(--fg)}
.brand b em{font-style:normal;color:inherit}
.brand div span{display:block;font-weight:500;font-size:.82rem;color:var(--muted);letter-spacing:0;text-transform:none;margin-top:1px}
@media (max-width:480px){.brand b{font-size:1rem}}
.lien{font-size:.92rem;color:var(--fg);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.lien:hover{color:var(--terre)}

.brand .logo.logo-v3::before{content:none}
.brand .logo.logo-v3 svg{display:block;width:46px;height:46px}
.voir-mdp{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:400}
.voir-mdp input{width:18px;height:18px;margin:0}

/* Contenu */
main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:56px 20px 72px}
.eyebrow{font-family:var(--f-body);font-size:.95rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--terre);margin:0 0 8px}
h1{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.1;letter-spacing:-.015em;margin:0 0 12px}
h1 em{font-style:normal;color:inherit}
.lead{color:var(--muted);margin:0 0 32px;max-width:56ch;font-size:1.05rem}

/* Connexion */
.carte{background:var(--surface);border:1px solid var(--ligne);border-top:4px solid var(--terre);border-radius:8px;padding:32px;max-width:440px;box-shadow:0 18px 36px -28px rgba(46,31,16,.45)}
form{display:grid;gap:16px}
label{display:grid;gap:6px;font-weight:600;font-size:.94rem}
input{font:inherit;padding:12px 14px;border:1px solid #CDBFAD;border-radius:4px;background:#FCFAF6;color:var(--fg);width:100%}
input:focus{border-color:var(--terre)}
input[type=checkbox]{accent-color:var(--terre)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--jaune);outline-offset:2px}
.btn{font:inherit;font-weight:600;background:var(--terre);color:#fff;border:0;border-radius:4px;padding:13px 20px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn:hover{background:var(--terre-fonce);filter:none}
.msg{padding:12px 14px;border-radius:4px;font-size:.94rem}
.msg.err{background:#FCEFE9;color:var(--erreur);border-left:3px solid var(--erreur)}
.msg.ok{background:#DCEBD5;color:#2F5A22;border-left:3px solid var(--vert)}
.aide{font-size:.88rem;color:var(--muted);margin:18px 0 0;padding-top:16px;border-top:1px solid #EFE6DA}

/* Tableau de bord : tuiles d'accès */
.choix{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tuile{display:grid;gap:10px;align-content:start;background:var(--brun);color:var(--creme);text-decoration:none;border-radius:8px;padding:28px;min-height:190px;border-top:4px solid var(--terre);transition:transform .15s,box-shadow .15s}
.tuile:hover{transform:translateY(-2px);box-shadow:0 18px 36px -24px rgba(46,31,16,.6)}
.tuile .n{font-family:var(--f-body);font-size:.9rem;font-weight:600;color:var(--terre-clair);letter-spacing:0;text-transform:none}
.tuile h2{font-family:var(--f-display);font-weight:800;font-size:1.6rem;margin:0;line-height:1.15;color:#fff}
.tuile p{margin:0;color:#D9C9B6;font-size:.98rem}
.tuile .go{margin-top:auto;font-weight:600;color:var(--terre-clair)}
.tuile:hover .go{color:#fff;text-decoration:underline}
.dossier{margin-top:28px;font-size:.9rem;color:var(--muted)}
@media (max-width:600px){.choix{grid-template-columns:1fr}.carte{padding:24px}}
@media (prefers-reduced-motion:reduce){.tuile{transition:none}}

footer{border-top:1px solid var(--ligne);background:var(--surface);color:var(--muted);font-size:.85rem}
footer .in{max-width:1040px;margin:0 auto;padding:18px 20px}
