/* ============================================================
   Login-stijl in lijn met de huisstijl van solvya.nl.
   Wordt alleen geladen op index.php, login_2fa.php,
   forgot_password.php en reset_password.php (de inlog-flow,
   vóórdat er een klant-/account-context is) — raakt verder
   niets aan het beheerpaneel zelf (dat blijft assets/admin.css
   met de eigen huisstijlkleuren per klant).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

.login-body{
  --l-primary:#4338ca;
  --l-accent:#f97316;
  --l-ink:#181a2a;
  --l-ink-soft:#4b4f6b;
  --l-border:#e6e6f0;
  height:auto;
  min-height:100vh;
  align-items:center;
  justify-content:center;
  padding:32px 20px;
  font-family:'Inter', 'Segoe UI', Arial, sans-serif;
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(249,115,22,0.16), transparent 60%),
    radial-gradient(900px 500px at 5% 0%, rgba(67,56,202,0.16), transparent 60%),
    #f6f6fb;
}

.login-wrap{
  width:100%;
  max-width:380px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.login-back{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  font-family:'Inter',sans-serif;
  font-size:.82rem;
  font-weight:600;
  color:var(--l-ink-soft);
  text-decoration:none;
  background:#fff;
  border:1px solid var(--l-border);
  border-radius:999px;
  padding:.5em 1em;
  margin-bottom:22px;
  transition:color .15s ease, border-color .15s ease;
}
.login-back:hover{ color:var(--l-primary); border-color:var(--l-primary); }

.login-brand{
  display:flex;
  align-items:center;
  gap:.55em;
  font-family:'Poppins','Inter',sans-serif;
  font-weight:800;
  font-size:1.5rem;
  color:var(--l-ink);
  text-decoration:none;
  margin-bottom:26px;
}
.login-brand .dot{
  width:13px;height:13px;border-radius:50%;
  background:linear-gradient(135deg,var(--l-primary),var(--l-accent));
  flex:none;
}

.login-box{
  background:#fff;
  border:1px solid var(--l-border);
  border-radius:20px;
  box-shadow:0 20px 45px -18px rgba(30,20,90,0.22);
  padding:34px 30px;
  width:100%;
}
.login-box h1{
  font-family:'Poppins','Inter',sans-serif;
  font-size:1.3rem;
  color:var(--l-ink);
  margin:0 0 6px;
}

.login-body label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:'Inter',sans-serif;
  font-size:.85rem;
  font-weight:600;
  color:var(--l-ink-soft);
}

.login-body input[type="email"],
.login-body input[type="password"],
.login-body input[type="text"]{
  border:1.5px solid var(--l-border);
  border-radius:10px;
  padding:.7em .9em;
  font-size:.95rem;
  width:100%;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.login-body input:focus{
  outline:none;
  border-color:var(--l-primary);
  box-shadow:0 0 0 3px rgba(67,56,202,0.15);
}

.login-body button[type="submit"]{
  background:var(--l-accent);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:.8em 1.4em;
  font-weight:700;
  font-size:.95rem;
  width:100%;
  cursor:pointer;
  margin-top:6px;
  box-shadow:0 8px 20px -6px rgba(249,115,22,0.5);
  transition:transform .15s ease, filter .15s ease;
}
.login-body button[type="submit"]:hover{
  filter:brightness(.94);
  transform:translateY(-1px);
}

.login-box .hint{ color:var(--l-ink-soft); font-size:.88rem; margin:0 0 4px; }
.login-box p{ font-size:.88rem; color:var(--l-ink-soft); margin:4px 0 0; text-align:center; }
.login-box p a{ color:var(--l-primary); font-weight:600; text-decoration:none; }
.login-box p a:hover{ text-decoration:underline; }

.login-box .error{
  background:#fee2e2; color:#991b1b;
  padding:.7em 1em; border-radius:10px; font-size:.85rem;
}
.login-box .flash{
  background:#d1fae5; color:#065f46;
  padding:.7em 1em; border-radius:10px; font-size:.85rem;
}

.login-box .check-row{
  flex-direction:row !important;
  align-items:center;
  gap:8px;
  font-size:.82rem;
  font-weight:500;
  color:var(--l-ink-soft);
}
.login-box .check-row input{ width:auto; margin:0; }
