/* Auth presentation only: preserve form IDs, field validation and auth scripts. */
body.auth-page.auth-unified-page {
  --auth-text: #282b2e;
  --auth-muted: #777d82;
  --auth-soft: #f8f9f9;
  --auth-line: #e9ebed;
  min-height: 100vh;
  background: #fff;
  color: var(--auth-text);
}

/* The standalone auth layout already includes all support/legal links. */
body.auth-page.auth-unified-page #locus-legal-footer { display: none; }

body.auth-page.auth-unified-page .auth-layout {
  grid-template-columns: minmax(0, 46fr) minmax(430px, 54fr);
  border-top: 0;
}

body.auth-page.auth-unified-page .auth-visual {
  background: var(--auth-soft);
}

body.auth-page.auth-unified-page .auth-visual::after {
  display: none;
}

body.auth-page.auth-unified-page .auth-visual-inner {
  min-height: 100vh;
  padding: clamp(44px, 6vw, 90px);
  justify-content: space-between;
  transform: none;
}

body.auth-page.auth-unified-page .auth-wordmark,
body.auth-page.auth-unified-page .auth-mobile-wordmark {
  color: #31363a;
  text-decoration: none;
  letter-spacing: .16em;
  font-weight: 700;
}

body.auth-page.auth-unified-page .auth-wordmark {
  margin: 0;
  font-size: 21px;
}

body.auth-page.auth-unified-page .auth-visual-copy {
  margin-block: auto;
  padding-block: 70px;
}

body.auth-page.auth-unified-page .auth-visual-copy h1 {
  max-width: 590px;
  color: #272a2d;
  font-size: clamp(36px, 3.4vw, 54px);
  font-weight: 600;
  letter-spacing: -.035em;
  white-space: normal;
}

body.auth-page.auth-unified-page .auth-visual-copy > p:not(.auth-kicker) {
  max-width: 490px;
  color: var(--auth-muted);
  font-size: 16px;
}

body.auth-page.auth-unified-page .auth-visual-copy .auth-disclaimer {
  margin-top: 24px;
  color: #9aa0a4;
  font-size: 12px;
}

body.auth-page.auth-unified-page .auth-panel {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 50px clamp(30px, 6vw, 105px);
  background: #fff;
}

body.auth-page.auth-unified-page .auth-card {
  width: min(440px, 100%);
}

body.auth-page.auth-unified-page .auth-title {
  color: var(--auth-text);
  font-size: clamp(30px, 2.5vw, 40px);
  font-weight: 600;
}

body.auth-page.auth-unified-page .auth-subtitle,
body.auth-page.auth-unified-page .auth-small-link,
body.auth-page.auth-unified-page .register-free-note,
body.auth-page.auth-unified-page .register-legal-note {
  color: var(--auth-muted);
}

body.auth-page.auth-unified-page .field label {
  color: #4a4f53;
  font-weight: 600;
}

body.auth-page.auth-unified-page .field input {
  height: 52px;
  padding-inline: 20px;
  border: 1px solid #e5e7e9;
  border-radius: 999px;
  color: var(--auth-text);
  background: #fff;
  box-shadow: 0 3px 12px rgba(30, 35, 40, .035);
}

body.auth-page.auth-unified-page .field input:focus {
  border-color: #aeb4b8;
  outline: 3px solid #eceeef;
}

body.auth-page.auth-unified-page .auth-password-wrap input {
  padding-right: 56px;
}

body.auth-page.auth-unified-page .auth-password-toggle,
body.auth-page.auth-unified-page .auth-field-message:not([hidden]) {
  color: #737a7f;
}

body.auth-page.auth-unified-page .btn-auth {
  height: 52px;
  border-radius: 999px;
  background: #303438;
  box-shadow: 0 4px 14px rgba(30, 35, 40, .09);
}

body.auth-page.auth-unified-page .btn-auth:hover {
  background: #1e2225;
}

body.auth-page.auth-unified-page .auth-segments {
  max-width: none;
  margin-bottom: 34px;
  border: 0;
  border-radius: 999px;
  background: #f4f5f5;
}

body.auth-page.auth-unified-page .auth-segments button {
  border-radius: 999px;
  color: #777d81;
}

body.auth-page.auth-unified-page .auth-segments button[aria-selected="true"] {
  background: #fff;
  color: #303438;
  box-shadow: 0 2px 8px rgba(30, 35, 40, .06);
}

body.auth-page.auth-unified-page .auth-code-row button {
  flex-basis: 136px;
  border: 1px solid var(--auth-line);
  border-radius: 999px;
  color: #3f4549;
  background: #f9fafa;
}

body.auth-page.auth-unified-page :is(.auth-text-switch, .register-existing-login:not([hidden]), .auth-small-link a, .register-legal-note a) {
  color: #42494e;
}

body.auth-page.auth-unified-page :is(.auth-segments button, .auth-text-switch, .auth-password-toggle, .auth-footer-links a):focus-visible {
  outline: 2px solid #72797e;
  outline-offset: 3px;
}

body.auth-page.auth-unified-page .auth-footer-links {
  width: min(440px, 100%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
  padding-top: 18px;
  border-top: 1px solid #f0f1f2;
}

body.auth-page.auth-unified-page .auth-footer-links a {
  color: #888e92;
  text-decoration: none;
  font-size: 12px;
}

body.auth-page.auth-unified-page .auth-footer-links a:hover {
  color: #303438;
  text-decoration: underline;
}

@media (max-width: 900px) {
  body.auth-page.auth-unified-page .auth-layout { display: block; }
  body.auth-page.auth-unified-page .auth-visual { min-height: auto; }
  body.auth-page.auth-unified-page .auth-visual-inner {
    min-height: 0;
    padding: 24px 28px;
  }
  body.auth-page.auth-unified-page .auth-visual-copy { display: none; }
  body.auth-page.auth-unified-page .auth-wordmark { position: static; }
  body.auth-page.auth-unified-page .auth-panel { min-height: calc(100vh - 80px); padding: 38px 24px; }
}

@media (max-width: 480px) {
  body.auth-page.auth-unified-page .auth-panel { justify-content: flex-start; padding: 32px 22px; }
  body.auth-page.auth-unified-page.register-page .field input { height: 48px; }
  body.auth-page.auth-unified-page .auth-code-row button { flex-basis: 116px; font-size: 12px; }
}
