/* ============================================================================
   Bloezem CRM — login.css
   Inlogscherm: gecentreerde kaart met logo en stapsgewijze flow.
   ============================================================================ */

.login-scherm {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1100px 500px at 50% -10%, var(--paars-licht), transparent 70%),
    var(--paars-pale);
}

.login-kaart {
  width: 100%; max-width: 400px;
  background: var(--wit);
  border: 1px solid var(--rand);
  border-radius: 18px;
  box-shadow: var(--schaduw);
  padding: 40px 34px 32px;
}

.login-logo {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  margin-bottom: 28px; text-align: center;
}
.login-logo img { height: 46px; width: auto; }
.login-logo .woordmerk { font-size: 30px; font-weight: 700; color: var(--paars); letter-spacing: -.01em; }
.login-logo .sub { font-size: 12px; color: var(--tekst-sec); letter-spacing: .14em; text-transform: uppercase; }

.login-kaart h1 { font-size: 20px; color: var(--salie); margin-bottom: 4px; text-align: center; }
.login-kaart .stap-uitleg { font-size: 13.5px; color: var(--tekst-sec); text-align: center; margin-bottom: 20px; }

.login-kaart .knop { margin-top: 20px; }

/* Onthoud-apparaat */
.onthoud {
  display: flex; align-items: center; gap: 9px;
  margin-top: 16px; font-size: 13.5px; color: var(--tekst);
}
.onthoud input { width: 17px; height: 17px; accent-color: var(--paars); }

/* Terug-link onderaan een stap */
.login-terug {
  display: block; width: 100%; text-align: center; margin-top: 16px;
  background: none; border: none; color: var(--tekst-sec);
  font-family: inherit; font-size: 13px; cursor: pointer; text-decoration: underline;
}

/* ── 2FA-koppeling (QR + handmatige sleutel) ─────────────────────────────── */
.qr-blok { display: flex; flex-direction: column; align-items: center; margin: 8px 0 4px; }
.qr-blok #qr { padding: 12px; background: #fff; border: 1px solid var(--rand); border-radius: 12px; }
.qr-blok #qr img, .qr-blok #qr canvas { display: block; }

.sleutel-uitklap { margin-top: 16px; }
.sleutel-uitklap summary {
  cursor: pointer; font-size: 13px; color: var(--paars-donker);
  list-style: none; text-align: center;
}
.sleutel-uitklap summary::-webkit-details-marker { display: none; }
.sleutel-code {
  margin-top: 10px; display: flex; gap: 8px; align-items: center;
}
.sleutel-code code {
  flex: 1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px; word-break: break-all;
  background: var(--paars-pale); border: 1px solid var(--rand);
  border-radius: 8px; padding: 9px 11px; color: var(--tekst);
}
