* { box-sizing: border-box; }
.envelopery-auth {
  margin: 0;
  min-height: 100vh;
  background: var(--brand-blush);
  color: var(--brand-ink);
  font-family: var(--brand-font);
  font-size: 14px;
  line-height: 1.6;
}
.envelopery-auth-header { display: flex; justify-content: center; padding: 56px 24px 32px; }
.envelopery-auth-card {
  max-width: 460px;
  margin: 0 auto 56px;
  padding: 36px;
  border: 1px solid var(--brand-line);
  border-radius: 9px;
  background: var(--brand-cream);
}
.envelopery-auth-card h2 { margin: 0 0 26px; font-size: 28px; line-height: 1.2; letter-spacing: -.045em; }
.envelopery-auth-card .auth-eyebrow { margin: 0 0 12px; color: var(--brand-muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.envelopery-auth-card .field { margin-bottom: 20px; }
.envelopery-auth-card h1 { margin: 0 0 26px; font-size: 28px; line-height: 1.2; letter-spacing: -.045em; }
.envelopery-auth-card .auth-links { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.envelopery-auth-card .field p { margin: 0; }
.envelopery-auth-card label { font-weight: 650; }
.envelopery-auth-card input { font: inherit; }
.envelopery-auth-card input:not([type="submit"], [type="checkbox"], [type="hidden"]) {
  width: 100%;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid var(--brand-line);
  border-radius: 5px;
  background: #fff;
  color: var(--brand-ink);
}
.envelopery-auth-card .field:has(input[type="checkbox"]) { display: flex; gap: 8px; align-items: center; }
.envelopery-auth-card input[type="checkbox"] { accent-color: var(--brand-ink); }
.envelopery-auth-card input[type="submit"] {
  width: 100%;
  margin: 0 0 16px;
  padding: 13px;
  border: 1px solid var(--brand-ink);
  border-radius: 5px;
  background: var(--brand-ink);
  color: var(--brand-cream);
  font-weight: 700;
  cursor: pointer;
}
.envelopery-auth-card input[type="submit"]:hover { background: #63375d; }
.envelopery-auth-card a { color: var(--brand-ink); text-underline-offset: 3px; }
.envelopery-auth-card #error_explanation { margin-bottom: 24px; color: #963e39; }
.envelopery-auth-card #error_explanation h2 { font-size: 18px; }
.envelopery-auth .flash { padding: 14px 24px; text-align: center; }
.envelopery-auth .flash.alert { background: #fff1ec; color: #7e321e; }
.envelopery-auth .flash.notice { background: #eaf2ed; color: #28573f; }
.envelopery-auth :focus-visible { outline: 3px solid var(--brand-ochre); outline-offset: 3px; }
@media (max-width: 520px) {
  .envelopery-auth-header { padding-top: 32px; }
  .envelopery-auth-card { margin-inline: 20px; padding: 28px; }
}
