.auth-body { min-height: 100vh; }
.auth-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }

.auth-panel { display: flex; flex-direction: column; padding: 34px 40px 50px; }
.auth-form { max-width: 400px; margin: auto; width: 100%; padding: 40px 0; }
.auth-form h1 { font-size: 30px; margin-bottom: 10px; }
.auth-sub { font-size: 14px; margin: 0 0 30px; }
.auth-form fieldset { border: none; margin: 0 0 16px; padding: 0; }
.auth-form legend { padding: 0; }
.auth-alt { font-size: 13px; color: var(--stone); margin-top: 22px; text-align: center; }
.auth-alt a { color: var(--gold-bright); }
.auth-legal { margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--hairline-2); }
.err {
  font-size: 13px; color: #f0c6ba; background: rgba(181,101,79,.12);
  border: 1px solid rgba(181,101,79,.4); border-radius: var(--r);
  padding: 11px 14px; margin: 0 0 16px; line-height: 1.6;
}
.ok {
  font-size: 13px; color: #cfe3c6; background: rgba(122,158,102,.12);
  border: 1px solid rgba(122,158,102,.4); border-radius: var(--r);
  padding: 11px 14px; margin: 0 0 16px; line-height: 1.6;
}

.confirm-steps {
  margin: 0 0 20px; padding-left: 20px; color: var(--stone);
  font-size: 14px; line-height: 1.85;
}
.confirm-steps li { padding-left: 4px; }
.confirm-steps li::marker { color: var(--gold); font-variant-numeric: lining-nums tabular-nums; }

.auth-aside {
  display: flex; flex-direction: column; justify-content: center; gap: 44px;
  padding: 50px 56px; border-left: 1px solid var(--hairline);
}
.auth-aside blockquote { margin: 0; max-width: 30ch; }
.auth-aside blockquote p { font-size: 30px; line-height: 1.25; color: var(--gold-bright); margin: 0 0 18px; }
.auth-aside footer { font-size: 13.5px; line-height: 1.7; color: var(--stone); }
.auth-stats { display: grid; gap: 22px; margin: 0; max-width: 30ch; }
.auth-stats div { border-top: 1px solid var(--hairline-2); padding-top: 14px; }
.auth-stats dt { font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: var(--stone-dim); }
.auth-stats dd { margin: 6px 0 0; font-size: 27px; color: var(--ivory); }

@media (max-width: 900px) {
  .auth-split { grid-template-columns: 1fr; }
  .auth-aside { display: none; }
  .auth-panel { padding: 24px 18px 40px; }
}

.pw-wrap { position: relative; display: block; }
.pw-wrap input { width: 100%; padding-right: 44px; }
.pw-eye {
  position: absolute; top: 50%; right: 6px; transform: translateY(-50%);
  display: grid; place-items: center;
  width: 32px; height: 32px; padding: 0;
  background: none; border: none; border-radius: var(--r);
  color: var(--stone-dim); cursor: pointer;
}
.pw-eye:hover { color: var(--gold-bright); }
.pw-eye:focus-visible { outline: 1px solid var(--gold); outline-offset: -1px; color: var(--gold-bright); }
.pw-eye svg { display: block; }

.confirm-steps + .note { margin-top: 0; }
