/* Anmeldeseite im Agri-PV-Look – überschreibt nur Regeln für body.auth */
body.auth {
  background-color: #e9e9e5;
  background-position: center 55%;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  padding: 32px 20px;
}
body.auth .auth-card {
  position: relative;
  max-width: 420px;
  background: rgba(247, 247, 244, .96);
  border: 1px solid var(--ink);
  border-radius: 2px;
  box-shadow: 8px 8px 0 rgba(18, 48, 28, .18);
  padding: 32px 36px 28px;
}
body.auth .brand-auth {
  flex-direction: column; align-items: center; gap: 8px;
  padding: 0 0 20px; margin-bottom: 6px; border-bottom: 1px solid var(--line);
}
body.auth .wordmark { width: 230px; max-width: 100%; height: auto; display: block; }
body.auth .brand-sub { font-size: 13px; letter-spacing: .01em; }
body.auth .auth-card h1 {
  background: none; padding: 0; font-size: 26px; line-height: 1.15;
  font-family: "Prompt", "Figtree", sans-serif; align-self: stretch;
}
body.auth .form input { border-color: var(--ink); border-radius: 2px; background: #FFFFFF; }
body.auth .form input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px var(--mint); }
body.auth .btn { border-radius: 2px; }
body.auth .btn.primary { box-shadow: none; min-height: 48px; }
body.auth .btn.primary:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
body.auth .flash { border-radius: 2px; }
body.auth .qr { border-radius: 2px; border-color: var(--ink); }

.lang-switch {
  position: absolute; top: 14px; right: 14px; display: flex;
  border: 1px solid var(--ink); border-radius: 2px; overflow: hidden; z-index: 1;
}
.lang-switch button {
  border: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 600;
  padding: 4px 9px; color: var(--ink); cursor: pointer; line-height: 1.4;
}
.lang-switch button + button { border-left: 1px solid var(--ink); }
.lang-switch button[aria-pressed="true"] { background: var(--ink); color: #FFFFFF; }
.lang-switch button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* 2FA: sechs Einzelfelder */
body.auth .otp { display: flex; gap: 10px; }
body.auth .form .otp-box {
  flex: 1; min-width: 0; height: 58px; min-height: 0; padding: 0; text-align: center;
  font-family: "DM Mono", ui-monospace, "SF Mono", monospace; font-size: 26px; font-weight: 500;
  border: 1px solid var(--ink); border-radius: 2px; background: #FFFFFF; color: var(--ink);
}
body.auth .form .otp-box:focus { outline: none; box-shadow: 0 0 0 3px var(--mint); }
body.auth .otp-source { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.auth .otp-msg { color: var(--err); font-size: 14px; margin: 2px 0 0; }
body.auth .otp-msg:empty { display: none; }

@media (max-width: 520px) {
  body.auth { background-attachment: scroll; padding: 20px 14px; }
  body.auth .auth-card { padding: 50px 22px 22px; }
  body.auth .wordmark { width: 200px; }
  body.auth .otp { gap: 6px; }
  body.auth .form .otp-box { height: 50px; font-size: 22px; }
}
