/* Écrans de connexion / compte */
body.center { align-items: center; justify-content: center; padding: 16px 16px 56px; }
.login { width: min(380px, 100%); text-align: center; }
.login h1 { margin: 4px 0 18px; font-weight: 600; letter-spacing: .02em; }
.login form, .login .card { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 20px; text-align: left; box-shadow: 0 1px 3px rgba(20, 30, 40, .08); }
.login label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.login label small { font-size: 11px; }
.login input { display: block; width: 100%; margin-top: 4px; padding: 9px 10px; font: inherit; color: var(--text); background: var(--field); border: 1px solid var(--field-line); border-radius: 6px; }
.login input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
.login input[hidden] { display: none; }
.login button { width: 100%; margin-top: 4px; padding: 10px; border: 0; border-radius: 6px; background: var(--accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.login button:hover { background: var(--accent-2); }
.login .error { font-size: 14px; margin: 0 0 10px; }
.login .card .error { margin: 0; }
.login .alt { margin: 14px 0 0; text-align: center; font-size: 14px; }
.login .hint { margin: 0 0 14px; font-size: 13px; color: var(--muted); }
.login .ok { margin: 0; color: var(--ok); font-weight: 600; }
.login dl.req { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0 0 16px; font-size: 14px; }
.login dl.req dt { color: var(--muted); }
.login dl.req dd { margin: 0; font-weight: 600; word-break: break-all; }
.login form.decide { display: flex; gap: 10px; background: none; border: 0; padding: 0; box-shadow: none; }
.login .decide button { flex: 1; }
.login .decide button.danger { background: none; color: var(--ko); border: 1px solid var(--ko); }
.login .decide button.danger:hover { background: var(--ko-bg); }

/* Connexion par empreinte */
.login .wa-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; background: transparent; color: var(--text); border: 1px solid var(--field-line); }
.login .wa-btn:hover { background: var(--bg); border-color: var(--accent); }
.login .wa-btn svg { width: 20px; height: 20px; color: var(--accent); }
.login .wa-btn[hidden] { display: none; }
