.login { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; background:var(--bg, transparent); }
.login[hidden] { display:none; }
.login-card {
  width:100%; max-width:380px; display:flex; flex-direction:column; gap:14px; padding:28px; border-radius:14px;
  background:var(--surface); box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--border);
}
.login-brand .logo-d { display:none; }
body.dark .login-brand .logo-l { display:none; }
body.dark .login-brand .logo-d { display:inline; }
.login-t { margin:0; font-size:22px; font-weight:700; }
.login-sub { margin:0; color:var(--text-2); font-size:13px; }
.login-form { display:flex; flex-direction:column; gap:14px; }
.login-err { margin:0; color:var(--danger-fg, #B91C1C); font-size:13px; font-weight:600; }
.login-err[hidden] { display:none; }
.login-equipe { align-self:flex-start; font-size:12px; color:var(--link); min-height:44px; display:inline-flex; align-items:center; }
