/* ============================================================
   Shared authentication pages design — login, forgot, reset.
   Loaded by index.php, mot_de_passe_oublie.php, reinitialiser_mot_de_passe.php
   so every auth screen is identical ("login pareil partout").
   ============================================================ */
:root{
  --brand-700:#105449; --brand-600:#0f766e; --brand-500:#0d9488; --brand-400:#14b8a6; --brand-300:#5eead4;
  --brand-grad:linear-gradient(135deg,#0d9488,#0f766e);
  --sidebar-grad:linear-gradient(155deg,#0a3d35 0%,#105449 55%,#0d4a40 100%);
  --text:#0f172a; --muted:#64748b; --border:#d1d5db; --danger:#dc2626; --ok:#16a34a;
}
*{box-sizing:border-box;}
body{margin:0;min-height:100vh;font-family:'Inter',system-ui,sans-serif;color:var(--text);
  background:#eef2f5;display:flex;align-items:center;justify-content:center;padding:20px;}
.login-card{display:grid;grid-template-columns:1.05fr 1fr;width:100%;max-width:860px;min-height:520px;
  background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(15,23,42,.3);}
.login-brand{background:var(--sidebar-grad);color:#fff;padding:48px 42px;display:flex;flex-direction:column;
  justify-content:space-between;position:relative;overflow:hidden;}
.login-brand::after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(94,234,212,.22),transparent 70%);}
.login-brand .wm{font-family:'Poppins',sans-serif;font-weight:800;font-size:2rem;letter-spacing:.3px;}
.login-brand .wm span{color:var(--brand-300);}
.login-brand .tag{color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;max-width:300px;}
.login-brand ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem;}
.login-brand li{display:flex;align-items:center;gap:.7rem;font-size:.92rem;color:rgba(255,255,255,.9);}
.login-brand li i{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:rgba(255,255,255,.12);color:var(--brand-300);}
.login-logo{height:58px;width:auto;max-width:180px;object-fit:contain;background:#fff;padding:6px 12px;border-radius:12px;align-self:flex-start;}
.login-form{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;}
.login-form h2{font-family:'Poppins',sans-serif;font-weight:700;color:var(--brand-700);font-size:1.6rem;margin:0 0 .3rem;}
.login-form .sub{color:var(--muted);font-size:.95rem;margin:0 0 1.6rem;}
.field{position:relative;margin-bottom:1.1rem;}
.field > i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);}
.field input{width:100%;padding:14px 16px 14px 46px;border:1px solid var(--border);border-radius:12px;
  font-size:.98rem;font-family:inherit;transition:all .2s;background:#fff;}
.field input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(13,148,136,.16);}
.btn-login{width:100%;padding:14px;border:none;border-radius:12px;background:var(--brand-grad);color:#fff;
  font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;margin-top:.4rem;
  box-shadow:0 10px 24px -6px rgba(13,148,136,.5);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;}
.btn-login:hover{filter:brightness(1.06);transform:translateY(-1px);}
.error-message{display:flex;align-items:center;gap:.6rem;background:#fef2f2;color:var(--danger);border:1px solid #fecaca;
  padding:12px 14px;border-radius:12px;font-weight:500;font-size:.9rem;margin-bottom:1.1rem;}
.message,.success-message{display:flex;align-items:center;gap:.6rem;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;
  padding:12px 14px;border-radius:12px;font-weight:500;font-size:.9rem;margin-bottom:1.1rem;}
.info-box{background:#f0fdfa;border:1px solid #99f6e4;color:#115e59;padding:12px 14px;border-radius:12px;font-size:.88rem;margin-bottom:1.1rem;line-height:1.5;}
.info-box p{margin:0;}
.form-links{text-align:center;margin-top:1.3rem;}
.form-links a{color:var(--brand-600);font-size:.9rem;text-decoration:none;font-weight:600;}
.form-links a:hover{text-decoration:underline;}
.pwd-hint{font-size:.8rem;color:var(--muted);margin:-.6rem 0 1rem;padding-left:4px;}
@media (max-width:720px){
  .login-card{grid-template-columns:1fr;max-width:420px;}
  .login-brand{display:none;}
  .login-form{padding:40px 28px;}
}
