/* Pages d'authentification Couvoir — autonome (ne dépend pas de app.css). */
:root{
  --paper:#f6f1e7; --card:#fffdf8; --ink:#3a2f28; --muted:#8a7968; --line:#ece2d1;
  --wood:#c8743b; --green:#49a96a; --red:#e4584f;
  --radius:18px; --radius-sm:12px; --shadow:0 18px 50px rgba(58,47,40,.14);
}
@media (prefers-color-scheme: dark){
  :root{ --paper:#17130f; --card:#221c15; --ink:#f3ece1; --muted:#ab9a86; --line:#342b20;
         --shadow:0 18px 50px rgba(0,0,0,.5); }
}
*{box-sizing:border-box}
body.auth-body{
  margin:0; min-height:100vh; display:grid; place-items:center; padding:24px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--paper); color:var(--ink);
}
.auth-card{
  width:100%; max-width:420px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:32px 28px;
}
.auth-brand{display:flex; align-items:center; gap:12px; margin-bottom:6px}
.auth-brand .mark{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:#eaf3e6;font-size:24px
}
.auth-brand b{font-size:22px;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
.auth-brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.04em}
.auth-card h1{font-size:22px;margin:18px 0 4px;font-family:"Iowan Old Style",Palatino,Georgia,serif}
.auth-sub{color:var(--muted);font-size:14px;margin:0 0 20px}
.auth-field{display:block;margin-bottom:14px}
.auth-field span{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.auth-field input{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:var(--paper);color:var(--ink);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s
}
.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(73,169,106,.18)}
.auth-field.err input{border-color:var(--red)}
.auth-err{color:var(--red);font-size:12.5px;margin:6px 0 0}
.auth-alert{background:rgba(228,88,79,.1);border:1.5px solid rgba(228,88,79,.3);
  color:var(--red);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;margin-bottom:16px}
.auth-submit{
  width:100%;padding:13px;border:none;border-radius:var(--radius-sm);background:var(--wood);
  color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .15s,transform .15s;margin-top:4px
}
.auth-submit:hover{background:var(--ink);transform:translateY(-1px)}
.auth-switch{text-align:center;color:var(--muted);font-size:14px;margin:18px 0 0}
.auth-switch a{color:var(--wood);font-weight:600;text-decoration:none}
.auth-switch a:hover{text-decoration:underline}
