/* EnsureLoc portal compact layout — 2026-09-29
   Presentation-only override. Loaded after responsive-fit so desktop portal
   screens remain intentionally compact while phones still use full width. */

@media (min-width: 641px) {
  body[data-portal-page] .portal-main {
    width: min(100% - 48px, 760px);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 0 8px;
  }

  body[data-portal-page="index"] .portal-main,
  body[data-portal-page="home"] .portal-main {
    max-width: 820px;
  }

  body[data-portal-page="sign-in"] .portal-main,
  body[data-portal-page="join"] .portal-main,
  body[data-portal-page="forgot-password"] .portal-main,
  body[data-portal-page="reset-password"] .portal-main,
  body[data-portal-page="mfa"] .portal-main,
  body[data-portal-page="accept"] .portal-main {
    width: min(100% - 48px, 620px);
    max-width: 620px;
  }

  body[data-portal-page] .portal-nav {
    width: min(100% - 48px, 760px);
    max-width: 760px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  body[data-portal-page] .card {
    padding: 16px 18px;
  }

  body[data-portal-page] .section-head {
    margin-top: 20px;
  }

  body[data-portal-page] .record-row {
    padding: 12px 14px;
  }

  body[data-portal-page] .btn {
    min-height: 46px;
    padding: 11px 16px;
  }

  body[data-portal-page] .field {
    margin-bottom: 14px;
  }

  body[data-portal-page] .input,
  body[data-portal-page] .textarea {
    padding: 11px 12px;
  }

  body[data-portal-page] .signin-main {
    min-height: 100vh;
    align-content: center;
    gap: 14px;
  }

  body[data-portal-page] .signin-brand {
    justify-content: center;
  }

  body[data-portal-page] .signin-brand img {
    height: 32px;
  }
}

@media (max-width: 640px) {
  body[data-portal-page] .portal-main {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  body[data-portal-page] .portal-nav {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    transform: none;
  }
}
