:root {
  --auth-bone: #fff;
  --auth-display: "Manrope", sans-serif;
  --auth-ui: "Inter", sans-serif;
  --auth-line: #d9dcd6;
  --auth-lime-deep: #253823;
}
html, body.auth-page { background: #fff; }
.auth-shell { display: flex; flex-direction: column; min-height: 100svh; overflow: visible; }
.auth-hero { flex: none; min-height: 0; padding: 26px 40px; background: #fff; border-bottom: 1px solid #e2e2dd; }
.auth-hero::before, .auth-hero::after, .auth-story, .auth-copyright, .auth-main::before { display: none; }
.auth-brand, .auth-brand span { color: #0a0c0a; font-size: 26px; font-style: normal; letter-spacing: 0; }
.auth-main { flex: 1; padding: 64px 24px; background: #fff; }
.auth-flow { width: min(100%, 440px); }
.auth-flow h2 { font-size: 40px; line-height: 1.12; font-style: normal; letter-spacing: 0; margin-bottom: 32px; }
.auth-flow h2 em { color: #0a0c0a; font-style: normal; }
.auth-label { font: 500 12px/1.5 "IBM Plex Mono", monospace; }
.auth-input { background: #fff; border-radius: 0; font-size: 16px; }
.auth-input:focus { box-shadow: 0 0 0 2px #e7f2d7; }
.auth-button { background: #0a0c0a; color: #fff; border-radius: 0; min-height: 52px; font: 600 12px/1.5 "IBM Plex Mono", monospace; text-transform: uppercase; letter-spacing: 0; }
.auth-button:hover { background: #252a24; transform: none; box-shadow: none; }
.auth-button-secondary { background: #fff; color: #0a0c0a; }
.auth-button-secondary:hover { background: #f3f5f1; }
.auth-link { color: #253823; font-weight: 500; }
.auth-mobile-copyright { display: block; margin-top: 40px; font: 11px/1.5 "IBM Plex Mono", monospace; }
.auth-meta-row { flex-wrap: wrap; }
.auth-password-toggle:focus-visible { outline: 2px solid #253823; outline-offset: 2px; }
.account-help { display: flex; justify-content: center; gap: 24px; margin-top: 24px; font: 12px/1.5 "IBM Plex Mono", monospace; }
.account-help a { color: #253823; text-decoration: underline; text-underline-offset: 3px; }
.account-help a:focus-visible, .auth-brand:focus-visible { outline: 2px solid #253823; outline-offset: 4px; }
@media (max-width: 720px) {
  .auth-hero { min-height: 0; flex-basis: auto; padding: 24px; }
  .auth-main { padding: 40px 24px; align-items: flex-start; justify-content: center; }
  .auth-flow h2 { font-size: 34px; }
}
