
/* EnsureLoc sign-in compact layout — 2026-09-07
   Manifest-safe visual-only override. No auth, form, routing, or backend behavior changes. */

body[data-portal-page="signin"],
body[data-portal-page="join"] {
  min-height: 100svh;
}

body[data-portal-page="signin"] .portal.portal-plain,
body[data-portal-page="join"] .portal.portal-plain {
  min-height: 100svh;
  display: grid;
  place-items: start center;
}

body[data-portal-page="signin"] .portal-main.signin-main,
body[data-portal-page="join"] .portal-main.signin-main {
  width: min(92vw, 620px) !important;
  max-width: 620px !important;
  min-height: auto !important;
  margin: 24px auto 32px !important;
  padding: 12px 0 24px !important;
  gap: 12px !important;
  align-content: start !important;
}

body[data-portal-page="signin"] .signin-brand,
body[data-portal-page="join"] .signin-brand {
  justify-content: center !important;
  margin: 0 0 8px !important;
}

body[data-portal-page="signin"] .signin-brand img,
body[data-portal-page="join"] .signin-brand img {
  width: 190px !important;
  max-width: 54vw !important;
  height: auto !important;
}

body[data-portal-page="signin"] .card.signin-card,
body[data-portal-page="join"] .card.signin-card {
  width: 100% !important;
  max-width: 620px !important;
  padding: 24px 26px !important;
  margin: 0 !important;
}

body[data-portal-page="signin"] .signin-card h1,
body[data-portal-page="join"] .signin-card h2 {
  margin: 0 !important;
  font-size: clamp(1.85rem, 3vw, 2.25rem) !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

body[data-portal-page="signin"] .signin-card > .lede,
body[data-portal-page="join"] .signin-card > .lede {
  margin: 6px 0 18px !important;
  text-align: center !important;
}

body[data-portal-page="signin"] .signin-card .field,
body[data-portal-page="join"] .signin-card .field {
  margin-bottom: 12px !important;
}

body[data-portal-page="signin"] .signin-card .input,
body[data-portal-page="join"] .signin-card .input {
  min-height: 46px !important;
  padding: 10px 12px !important;
}

body[data-portal-page="signin"] .signin-card .btn,
body[data-portal-page="join"] .signin-card .btn {
  min-height: 46px !important;
}

body[data-portal-page="signin"] .signin-help {
  margin: 12px 0 0 !important;
}

body[data-portal-page="signin"] .signin-footer {
  margin: 0 !important;
  font-size: .8rem !important;
}

@media (max-width: 640px) {
  body[data-portal-page="signin"] .portal-main.signin-main,
body[data-portal-page="join"] .portal-main.signin-main {
    width: min(94vw, 540px) !important;
    margin-top: 14px !important;
    padding-bottom: 18px !important;
  }

  body[data-portal-page="signin"] .card.signin-card,
body[data-portal-page="join"] .card.signin-card {
    padding: 20px 18px !important;
  }

  body[data-portal-page="signin"] .signin-brand img,
body[data-portal-page="join"] .signin-brand img {
    width: 170px !important;
    max-width: 58vw !important;
  }

  body[data-portal-page="signin"] .signin-card h1,
body[data-portal-page="join"] .signin-card h2 {
    font-size: clamp(1.65rem, 7vw, 2rem) !important;
  }
}
