.hx-account-page {
  display: grid;
  justify-items: center;
  align-content: start;
  min-height: 65vh;
  padding: 40px 16px 80px;
  background: #f8fafc;
}
.hx-account-page .hx-account-access {
  position: relative;
  width: min(100%, 620px);
  padding: 36px 28px 24px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: white;
  color: #172333;
}
.hx-access-header { margin: 0 auto 24px; text-align: center; }
.hx-access-header img { display: block; width: 148px; height: auto; margin: 0 auto 28px; }
.hx-access-header h1, .hx-account-access > h2 {
  margin: 0; color: #111; font-size: 28px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25;
}
.hx-account-access > h2 { margin-bottom: 16px; }
.hx-access-fields, .hx-access-links, .hx-access-tabs { width: 100%; max-width: 440px; margin-inline: auto; }
.hx-access-fields { display: grid; gap: 16px; }
.hx-access-fields label { display: grid; gap: 5px; color: #243443; font-size: 14px; font-weight: 500; }
.hx-access-fields input {
  box-sizing: border-box; width: 100%; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid #bec9d4;
  border-radius: 12px; color: #111827; background: white; font: inherit; font-size: 16px;
}
.hx-access-fields small { font-size: 12px; font-weight: 400; color: #576371; }
.hx-access-fields input:focus-visible, .hx-account-access a:focus-visible, .hx-account-access button:focus-visible {
  outline: 2px solid #2376ad; outline-offset: 2px;
}
.hx-access-submit {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; text-align: center;
  border-radius: 999px; padding: 10px 16px; background: #193b60; color: white !important; font-size: 16px; font-weight: 600;
}
.hx-access-submit:hover { background: #112d4c; }
.hx-access-submit:disabled { opacity: .6; }
.hx-access-message { margin: 0; color: #983528; font-size: 14px; }
.hx-access-message:empty { display: none; }
.hx-access-links { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; font-size: 14px; }
.hx-access-switch { margin: 0 0 0 auto; color: #596573; }
.hx-access-link, .hx-access-agreement a { color: #174f78; text-decoration: underline; text-underline-offset: 3px; }
.hx-access-agreement { margin-top: 26px; padding: 14px 16px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; }
.hx-access-agreement h2 { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.4; }
.hx-access-agreement p { margin: 4px 0 0; font-size: 13px; line-height: 1.6; color: #536171; }
.hx-access-tabs { display: flex; gap: 20px; margin: 0 0 18px; border-bottom: 1px solid #dee5ed; }
.hx-access-tabs a { padding: 5px 0; color: #536171; font-weight: 600; border-bottom: 2px solid transparent; }
.hx-access-tabs a[aria-current=page] { border-color: #193b60; color: #193b60; }
@media(max-width:639px) {
  .hx-account-page { padding: 24px 16px 64px; }
  .hx-account-page .hx-account-access { padding: 30px 16px 16px; }
  .hx-access-header img { width: 130px; margin-bottom: 20px; }
  .hx-access-header h1 { font-size: 26px; }
  .hx-access-agreement { margin-top: 20px; }
}
