/* ─────────────────────────────────────────────────────────────────────────
   Auth forms ([sqm_login], [sqm_lost_password], [sqm_reset_password]).

   These render on public pages, outside the portal, so every token carries a
   literal fallback rather than depending on PSK being present. Every control
   is element-qualified and pinned — the theme styles bare inputs and buttons
   more specifically than a class.
   ───────────────────────────────────────────────────────────────────────── */
.sqm-auth{
  --sa-text: var(--psk-text, #262626);
  --sa-muted: var(--psk-text-muted, #6b6b6b);
  --sa-surface: var(--psk-surface, #ffffff);
  --sa-border: var(--psk-border, #d8d8d8);
  --sa-accent: var(--psk-primary, #FFA500);
  --sa-error-bg: #FBE4E4;
  --sa-error-text: #C0392B;
  --sa-good-bg: #E6F7EE;
  --sa-good-text: #1A7340;

  max-width:420px;
  margin:0 auto;
  color:var(--sa-text);
}
html.psk-theme-dark .sqm-auth,
body.psk-theme-dark .sqm-auth{
  --sa-error-bg: rgba(192,57,43,.18);
  --sa-error-text: #F08B7F;
  --sa-good-bg: rgba(30,126,52,.20);
  --sa-good-text: #63EBB8;
}

.sqm-auth h2.sqm-auth__title,
.sqm-auth .sqm-auth__title{
  font-family:'Space Grotesk',sans-serif !important;
  font-size:clamp(22px,2.6vw,27px) !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  padding-bottom:2px !important;
  margin:0 0 10px !important;
  color:var(--sa-text) !important;
}
.sqm-auth .sqm-auth__lede{
  margin:0 0 22px !important;
  font-size:15px;line-height:1.65;color:var(--sa-muted);
}

.sqm-auth__notice{
  padding:13px 16px;border-radius:9px;margin:0 0 18px;
  font-size:14px;line-height:1.6;
}
.sqm-auth__notice.is-error{
  background:var(--sa-error-bg);color:var(--sa-error-text);
  border:1px solid var(--sa-error-text);
}
.sqm-auth__notice.is-good{
  background:var(--sa-good-bg);color:var(--sa-good-text);
  border:1px solid var(--sa-good-text);
}

.sqm-auth__field{display:flex;flex-direction:column;margin-bottom:16px}
.sqm-auth__field label{
  font-size:13px;font-weight:600;margin-bottom:6px;color:var(--sa-text);
}
.sqm-auth .sqm-auth__hint{
  margin:6px 0 0 !important;
  font-size:12.5px;line-height:1.55;color:var(--sa-muted);
}

.sqm-auth input[type="email"],
.sqm-auth input[type="text"],
.sqm-auth input[type="password"]{
  width:100% !important;box-sizing:border-box !important;
  padding:12px 14px !important;
  border:1px solid var(--sa-border) !important;
  border-radius:8px !important;
  background:var(--sa-surface) !important;
  color:var(--sa-text) !important;
  font-family:inherit !important;font-size:15px !important;line-height:1.5 !important;
}
.sqm-auth input:focus{
  outline:none !important;border-color:var(--sa-accent) !important;
}

.sqm-auth__remember{
  display:flex;align-items:center;gap:9px;
  font-size:14px;color:var(--sa-text);
  margin:0 0 20px;cursor:pointer;
}
.sqm-auth__remember input{width:auto !important;margin:0 !important}

.sqm-auth__turnstile{margin:0 0 18px}

.sqm-auth button.sqm-auth__submit,
.sqm-auth button.sqm-auth__submit:hover,
.sqm-auth button.sqm-auth__submit:focus,
.sqm-auth a.sqm-auth__submit,
.sqm-auth a.sqm-auth__submit:visited{
  display:block;width:100%;box-sizing:border-box;
  background:var(--sa-accent) !important;
  color:#262626 !important;
  border:0 !important;box-shadow:none !important;
  padding:14px 28px !important;border-radius:8px !important;
  font-family:'Space Grotesk',sans-serif !important;
  font-size:15px !important;font-weight:700 !important;
  letter-spacing:normal !important;text-transform:none !important;
  text-align:center;text-decoration:none !important;cursor:pointer;
}
.sqm-auth button.sqm-auth__submit:hover,
.sqm-auth a.sqm-auth__submit:hover{background:#FFBB00 !important}
.sqm-auth a.sqm-auth__submit.is-inline{display:inline-block;width:auto}

.sqm-auth .sqm-auth__alt{
  margin:18px 0 0 !important;
  font-size:14px;text-align:center;
}
.sqm-auth .sqm-auth__alt a{
  color:var(--sa-muted) !important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.sqm-auth .sqm-auth__alt a:hover{color:var(--sa-accent) !important}
