/*
 * Shared CareHub delivery core.
 *
 * The global site menu, CareHub gateway, customer dashboard, and StaffHub all
 * consume these typography, action, and phone-authentication primitives. Keep
 * operational dashboard and workspace layouts in dashboard.css.
 */
.aluna-carehub-mvp {
  --aluna-ink: var(--aluna-theme-text);
  --aluna-muted: var(--aluna-theme-muted);
  --aluna-line: var(--aluna-theme-border);
  --aluna-panel: var(--aluna-theme-card);
  --aluna-shell-panel-bg: var(--aluna-theme-panel);
  --aluna-field: var(--aluna-theme-field);
  --aluna-soft: var(--aluna-theme-soft-fill);
  --aluna-warm: color-mix(in srgb, var(--aluna-theme-panel) 82%, var(--aluna-theme-page-bg));
  --aluna-accent: var(--aluna-theme-action);
  --aluna-accent-strong: var(--aluna-theme-action-hover);
  --aluna-system-note-bg: var(--aluna-theme-notice-bg);
  --aluna-system-note-border: var(--aluna-theme-notice);
  --aluna-system-note-accent: var(--aluna-theme-notice);
  --aluna-system-note-label: var(--aluna-theme-notice-text);
  --aluna-attention: var(--aluna-theme-clinical-boundary);
  --aluna-weight-status-within: var(--aluna-theme-success);
  --aluna-weight-status-slight: var(--aluna-theme-action);
  --aluna-weight-status-moderate: var(--aluna-theme-notice);
  --aluna-weight-status-significant: var(--aluna-theme-clinical-boundary);
  --aluna-carehub-form-field-bg: var(--aluna-form-field-bg, var(--aluna-theme-field, var(--aluna-field)));
  --aluna-carehub-form-field-border: var(--aluna-form-field-border, var(--aluna-line));
  --aluna-carehub-form-field-radius: var(--aluna-form-field-radius, 8px);
  --aluna-carehub-form-field-focus: var(--aluna-form-field-focus, var(--aluna-theme-focus, var(--aluna-accent)));
  --aluna-carehub-form-focus-ring: var(--aluna-form-focus-ring, var(--aluna-theme-focus-ring, color-mix(in srgb, var(--aluna-carehub-form-field-focus) 34%, transparent)));
  --aluna-carehub-body-family: var(--e-global-typography-aluna-body-font-family, var(--font-sans, "Sora", system-ui, sans-serif));
  --aluna-carehub-button-family: var(--e-global-typography-aluna-button-font-family, var(--aluna-carehub-body-family));
  color: var(--aluna-ink);
  font-family: var(--aluna-carehub-body-family);
  margin: 34px auto 0;
  max-width: 1160px;
  padding: 56px 18px 32px;
}

.aluna-carehub-mvp__eyebrow,
.aluna-carehub-mvp-card__eyebrow {
  color: var(--aluna-accent);
  font-family: var(--e-global-typography-aluna-label-font-family, var(--aluna-carehub-body-family));
  font-size: clamp(0.7rem, var(--e-global-typography-aluna-label-font-size, 0.75rem), 0.8rem);
  font-style: var(--e-global-typography-aluna-label-font-style, normal);
  font-weight: var(--e-global-typography-aluna-label-font-weight, 700);
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.08em);
  line-height: var(--e-global-typography-aluna-label-line-height, 1.2);
  margin: 0 0 6px;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

.aluna-carehub-mvp h1,
.aluna-carehub-mvp h2,
.aluna-carehub-mvp h3,
.aluna-carehub-mvp p {
  letter-spacing: 0;
}

.aluna-carehub-mvp h1 {
  font-family: var(--e-global-typography-aluna-h1-font-family, "Hanken Grotesk", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-h1-font-size, clamp(2.5rem, 4vw, 4rem));
  font-style: var(--e-global-typography-aluna-h1-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h1-font-weight, 400);
  letter-spacing: var(--e-global-typography-aluna-h1-letter-spacing, -0.02em);
  line-height: var(--e-global-typography-aluna-h1-line-height, 1.08);
  margin: 0;
  text-transform: var(--e-global-typography-aluna-h1-text-transform, none);
}

.aluna-carehub-mvp h2 {
  font-family: var(--e-global-typography-aluna-h3-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-h3-font-size, 1.6rem);
  font-style: var(--e-global-typography-aluna-h3-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h3-font-weight, 500);
  letter-spacing: var(--e-global-typography-aluna-h3-letter-spacing, -0.02px);
  line-height: var(--e-global-typography-aluna-h3-line-height, 1.24);
  margin: 0;
  text-transform: var(--e-global-typography-aluna-h3-text-transform, none);
}

.aluna-carehub-mvp h3 {
  font-family: var(--e-global-typography-aluna-h5-font-family, var(--aluna-carehub-body-family));
  font-size: var(--e-global-typography-aluna-h5-font-size, 1.0625rem);
  font-style: var(--e-global-typography-aluna-h5-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h5-font-weight, 700);
  letter-spacing: var(--e-global-typography-aluna-h5-letter-spacing, 0);
  line-height: var(--e-global-typography-aluna-h5-line-height, 1.3);
  margin: 0 0 8px;
  text-transform: var(--e-global-typography-aluna-h5-text-transform, none);
}

.aluna-carehub-mvp__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

.aluna-carehub-mvp__button,
.aluna-carehub-mvp__link-button {
  align-items: center;
  background: var(--aluna-button-primary-bg, var(--aluna-accent));
  border: 1px solid var(--aluna-button-primary-bg, var(--aluna-accent));
  border-radius: var(--aluna-button-radius, 14px);
  box-sizing: border-box;
  color: var(--aluna-style-button-color, var(--aluna-field));
  cursor: pointer;
  display: inline-flex;
  font-family: var(--aluna-carehub-button-family);
  font-size: var(--e-global-typography-aluna-button-font-size, var(--aluna-button-primary-font-size, 0.92rem));
  font-style: var(--e-global-typography-aluna-button-font-style, normal);
  font-weight: var(--e-global-typography-aluna-button-font-weight, var(--aluna-button-primary-font-weight, 700));
  height: var(--aluna-button-primary-height, 46px);
  justify-content: center;
  line-height: var(--e-global-typography-aluna-button-line-height, 1.12);
  min-height: var(--aluna-button-primary-height, 46px);
  min-width: 76px;
  padding: 0 var(--aluna-button-primary-pad-x, 35px);
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.aluna-carehub-mvp__button--service {
  min-width: 86px;
}

.aluna-carehub-mvp__button:hover,
.aluna-carehub-mvp__button:focus-visible {
  background: var(--aluna-button-primary-hover-bg, var(--aluna-accent-strong));
  border-color: var(--aluna-button-primary-hover-bg, var(--aluna-accent-strong));
  color: var(--aluna-style-button-color, var(--aluna-field));
}

.aluna-carehub-mvp__button:focus-visible,
.aluna-carehub-mvp__link-button:focus-visible {
  box-shadow: var(--aluna-style-button-focus-shadow, 0 0 0 3px var(--aluna-theme-focus-ring, rgba(42, 123, 123, 0.36)));
  outline: 0;
}

.aluna-carehub-mvp__button[disabled],
.aluna-carehub-mvp__button--passive {
  background: var(--aluna-carehub-button-disabled-background, var(--aluna-soft));
  border-color: var(--aluna-carehub-button-disabled-border, var(--aluna-line));
  color: var(--aluna-carehub-button-disabled-color, var(--aluna-muted));
  cursor: default;
  opacity: 1;
  pointer-events: none;
}

.aluna-carehub-mvp__button[disabled]:hover,
.aluna-carehub-mvp__button[disabled]:focus,
.aluna-carehub-mvp__button--passive:hover,
.aluna-carehub-mvp__button--passive:focus {
  background: var(--aluna-soft);
  color: var(--aluna-muted);
}

.aluna-carehub-mvp__button--secondary,
.aluna-carehub-mvp__link-button {
  background: transparent;
  border-color: color-mix(in srgb, var(--aluna-button-secondary-border-source, var(--aluna-ink)) calc(var(--aluna-button-secondary-border-alpha, 0.26) * 100%), transparent);
  color: var(--aluna-button-secondary-text, var(--aluna-accent));
}

.aluna-carehub-mvp__button--secondary:is(:hover, :focus-visible),
.aluna-carehub-mvp__link-button:is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--aluna-button-secondary-border-source, var(--aluna-ink)) calc(var(--aluna-button-secondary-hover-bg-alpha, 0.08) * 100%), transparent);
  border-color: color-mix(in srgb, var(--aluna-button-secondary-border-source, var(--aluna-ink)) calc(var(--aluna-button-secondary-hover-border-alpha, 0.42) * 100%), transparent);
  color: var(--aluna-button-secondary-hover-text, var(--aluna-accent-strong));
}

.aluna-carehub-mvp__button--secondary[disabled],
.aluna-carehub-mvp__button--secondary.aluna-carehub-mvp__button--passive {
  background: var(--aluna-soft);
  border-color: var(--aluna-line);
  color: var(--aluna-muted);
}

.aluna-carehub-mvp :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])) {
  scroll-margin-block-end: calc(var(--aluna-layout-footer-height, 70px) + var(--aluna-layout-gap, 24px));
  scroll-margin-block-start: calc(var(--aluna-native-nav-h, 80px) + var(--aluna-layout-gap, 24px));
}

.aluna-carehub-mvp-card__meta,
.aluna-carehub-mvp-mini small,
.aluna-carehub-mvp__muted {
  color: var(--aluna-muted);
}

.aluna-carehub-mvp--signed-out {
  background: transparent;
  margin: 0;
  max-width: none;
  min-height: 0;
  padding: 0;
}

.aluna-carehub-mvp-auth {
  --aluna-carehub-auth-field-height: var(--aluna-form-active-field-height, var(--aluna-form-field-height-large, 60px));
  --aluna-carehub-auth-code-active-bg: var(--aluna-form-field-focus-bg, var(--aluna-theme-notice-bg, color-mix(in srgb, var(--aluna-theme-notice, #EDB326) 14%, var(--aluna-carehub-form-field-bg))));
  --aluna-carehub-auth-code-active-border: var(--aluna-form-field-focus, var(--aluna-theme-notice, #EDB326));
  --aluna-carehub-auth-code-active-ring: var(--aluna-form-focus-ring, color-mix(in srgb, var(--aluna-carehub-auth-code-active-border) 34%, transparent));
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: 440px;
  text-align: center;
  width: 100%;
}

.aluna-carehub-mvp-auth__step {
  display: grid;
  gap: 20px;
}

.aluna-carehub-mvp-auth__step[hidden],
.aluna-carehub-mvp-auth__step--destination[hidden],
.aluna-carehub-mvp-auth__sms-consent[hidden],
.aluna-carehub-mvp-auth [data-auth-back][hidden],
.aluna-carehub-mvp-auth [data-auth-submit][hidden],
.aluna-carehub-mvp-auth [data-auth-contact-admin][hidden],
.aluna-carehub-mvp-auth [data-auth-patient-recovery][hidden],
.aluna-carehub-mvp-auth [data-auth-patient-sign-out][hidden],
.aluna-carehub-mvp-auth [data-auth-actions][hidden],
.aluna-carehub-mvp-auth__resend-button[hidden] {
  display: none !important;
}

.aluna-carehub-mvp-auth__destinations {
  display: grid;
  gap: 12px;
  margin-inline: auto;
  width: min(100%, 380px);
}

.aluna-carehub-mvp-auth__destinations .aluna-carehub-mvp__button {
  width: 100% !important;
}

.aluna-carehub-mvp-auth__patient-options {
  display: grid;
  gap: 10px;
  margin-inline: auto;
  width: min(100%, 380px);
}

.aluna-carehub-mvp-auth__patient-option {
  background: var(--aluna-carehub-form-field-bg);
  border: var(--aluna-form-field-border-width, 1.5px) solid var(--aluna-carehub-form-field-border);
  border-radius: var(--aluna-form-field-radius, 10px);
  color: var(--aluna-ink);
  cursor: pointer;
  font: inherit;
  font-weight: var(--e-global-typography-aluna-button-font-weight, 500);
  min-height: var(--aluna-form-field-height-large, 60px);
  padding: 12px 18px;
  text-align: left;
}

.aluna-carehub-mvp-auth__patient-option:is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--aluna-accent) 8%, var(--aluna-carehub-form-field-bg));
  border-color: var(--aluna-accent);
  outline: 3px solid var(--aluna-carehub-form-focus-ring);
  outline-offset: 2px;
}

.aluna-carehub-mvp-auth__step--patient > [data-auth-patient-recovery] {
  justify-self: center;
}

.aluna-carehub-mvp-auth .aluna-carehub-mvp-auth__destinations > .aluna-carehub-mvp__button[data-auth-choice][hidden] {
  display: none !important;
}

.aluna-carehub-mvp-auth h1 {
  font-family: var(--e-global-typography-aluna-h3-font-family, "Hanken Grotesk", system-ui, sans-serif);
  font-size: clamp(1.75rem, 2vw, 2.25rem);
  font-style: var(--e-global-typography-aluna-h3-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h3-font-weight, 500);
  letter-spacing: var(--e-global-typography-aluna-h3-letter-spacing, -0.01em);
  line-height: var(--e-global-typography-aluna-h3-line-height, 1.24);
  margin: 0 auto;
  max-width: 440px;
  text-align: center !important;
  text-transform: var(--e-global-typography-aluna-h3-text-transform, none);
  width: 100%;
  word-spacing: var(--e-global-typography-aluna-h3-word-spacing, normal);
}

.aluna-carehub-mvp-auth p {
  color: var(--aluna-muted);
  font-family: var(--e-global-typography-aluna-body-lg-font-family, var(--aluna-carehub-body-family));
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-style: var(--e-global-typography-aluna-body-lg-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-lg-font-weight, 400);
  line-height: var(--e-global-typography-aluna-body-lg-line-height, 1.6);
  margin: 0 auto;
  max-width: 400px;
}

.aluna-carehub-mvp-auth[data-auth-channel='phone'] [data-auth-identifier-display] {
  color: inherit;
  display: inline-block;
  font-weight: 700;
  white-space: nowrap;
}

.aluna-carehub-mvp-auth label {
  color: var(--aluna-ink);
  display: grid;
  font-family: var(--e-global-typography-aluna-h6-font-family, var(--aluna-carehub-body-family));
  font-size: var(--e-global-typography-aluna-h6-font-size, 0.92rem);
  font-style: var(--e-global-typography-aluna-h6-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h6-font-weight, 700);
  gap: 6px;
  line-height: var(--e-global-typography-aluna-h6-line-height, 1.3);
  text-transform: var(--e-global-typography-aluna-h6-text-transform, none);
}

.aluna-carehub-mvp-auth__label {
  text-align: left;
}

.aluna-carehub-mvp-auth__step--phone .aluna-carehub-mvp-auth__label {
  margin-inline: auto;
  width: min(100%, 380px);
}

.aluna-carehub-mvp-auth.aluna-form-system input:not(.aluna-carehub-mvp-auth__code-input) {
  background: var(--aluna-carehub-form-field-bg);
  border: var(--aluna-form-field-border-width, 1.5px) solid var(--aluna-carehub-form-field-border);
  border-radius: var(--aluna-carehub-form-field-radius);
  box-sizing: border-box;
  color: var(--aluna-ink);
  font-family: var(--e-global-typography-aluna-body-lg-font-family, var(--aluna-carehub-body-family));
  font-size: var(--e-global-typography-aluna-body-lg-font-size, 1.08rem);
  font-style: var(--e-global-typography-aluna-body-lg-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-lg-font-weight, 400);
  line-height: var(--e-global-typography-aluna-body-lg-line-height, 1.75);
  min-height: var(--aluna-carehub-auth-field-height);
  padding: var(--aluna-form-field-padding-y, 12px) var(--aluna-form-field-padding-x, 14px);
  width: 100%;
}

.aluna-carehub-mvp-auth.aluna-form-system input:not(.aluna-carehub-mvp-auth__code-input):focus {
  border-color: var(--aluna-carehub-form-field-focus);
  box-shadow: 0 0 0 var(--aluna-form-focus-ring-width, 3px) var(--aluna-carehub-form-focus-ring);
  outline: 0;
}

.aluna-carehub-mvp-phone-field:focus-within {
  border-radius: var(--aluna-carehub-form-field-radius);
  box-shadow: 0 0 0 var(--aluna-form-focus-ring-width, 3px) var(--aluna-carehub-form-focus-ring);
}

.aluna-carehub-mvp-phone-field:focus-within > span,
.aluna-carehub-mvp-phone-field:focus-within input {
  border-color: var(--aluna-carehub-form-field-focus);
}

.aluna-carehub-mvp-auth.aluna-form-system .aluna-carehub-mvp-phone-field input:focus {
  box-shadow: none;
}

.aluna-carehub-mvp-auth.aluna-form-system input:not(.aluna-carehub-mvp-auth__code-input)[aria-invalid="true"] {
  border-color: var(--aluna-form-error, var(--aluna-attention));
}

.aluna-carehub-mvp-phone-field {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: max-content minmax(0, 1fr);
}

.aluna-carehub-mvp-phone-field > span {
  align-items: center;
  background: var(--aluna-carehub-form-field-bg);
  border: var(--aluna-form-field-border-width, 1.5px) solid var(--aluna-carehub-form-field-border);
  border-radius: var(--aluna-carehub-form-field-radius) 0 0 var(--aluna-carehub-form-field-radius);
  box-sizing: border-box;
  color: var(--aluna-ink);
  display: flex;
  font-family: var(--e-global-typography-aluna-body-lg-font-family, var(--aluna-carehub-body-family));
  font-size: var(--e-global-typography-aluna-body-lg-font-size, 1.08rem);
  font-style: var(--e-global-typography-aluna-body-lg-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-lg-font-weight, 400);
  height: var(--aluna-carehub-auth-field-height);
  justify-content: center;
  line-height: var(--e-global-typography-aluna-body-lg-line-height, 1.75);
  min-height: var(--aluna-carehub-auth-field-height);
  padding-inline: var(--aluna-form-field-padding-x, 14px);
}

.aluna-carehub-mvp-auth.aluna-form-system .aluna-carehub-mvp-phone-field input {
  border-left: 0;
  border-radius: 0 var(--aluna-carehub-form-field-radius) var(--aluna-carehub-form-field-radius) 0;
  margin: 0;
  padding-inline-start: var(--aluna-form-field-padding-x, 14px);
}

.aluna-carehub-mvp-phone-field:has(input[aria-invalid="true"]) > span {
  border-color: var(--aluna-form-error, var(--aluna-attention));
}

.aluna-carehub-mvp-auth__message.aluna-status-message {
  font-family: var(--e-global-typography-aluna-body-sm-font-family, var(--aluna-carehub-body-family));
  font-size: var(--e-global-typography-aluna-body-sm-font-size, 0.875rem);
  font-weight: var(--e-global-typography-aluna-body-sm-font-weight, 400);
  margin-inline: auto;
  min-height: 0;
  text-align: left;
  width: min(100%, 380px);
}

.aluna-carehub-mvp-auth__message.aluna-status-message:not(:empty) {
  --aluna-status-border-inline-start-width: 1px;
}

.aluna-carehub-mvp-auth[data-auth-status-tone='info'] {
  --aluna-carehub-auth-state-accent: var(--aluna-theme-link, var(--aluna-accent));
}

.aluna-carehub-mvp-auth[data-auth-status-tone='warning'] {
  --aluna-carehub-auth-state-accent: var(--aluna-theme-notice, var(--aluna-system-note-accent));
}

.aluna-carehub-mvp-auth[data-auth-status-tone='error'] {
  --aluna-carehub-auth-state-accent: var(--aluna-theme-clinical-boundary, var(--aluna-attention));
}

.aluna-carehub-mvp-auth__message.aluna-status-message:not(:empty) {
  --aluna-status-accent: var(--aluna-carehub-auth-state-accent);
}

.aluna-carehub-mvp-auth__message.aluna-status-message:is(
  [data-aluna-status-tone='info'],
  [data-aluna-status-tone='error']
) {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--aluna-carehub-auth-state-accent);
  padding: 0;
}

.aluna-carehub-mvp-auth.aluna-form-system input:not(.aluna-carehub-mvp-auth__code-input)[data-auth-field-tone] {
  border-color: var(--aluna-carehub-auth-state-accent);
}

.aluna-carehub-mvp-auth .aluna-carehub-mvp-phone-field:has(input[data-auth-field-tone]) > span {
  border-color: var(--aluna-carehub-auth-state-accent);
}

.aluna-carehub-mvp-auth .aluna-carehub-mvp-phone-field:has(input[data-auth-field-tone]):focus-within {
  box-shadow: 0 0 0 var(--aluna-form-focus-ring-width, 3px) var(--aluna-carehub-form-focus-ring);
}

.aluna-carehub-mvp-auth__code-wrap:has(.aluna-carehub-mvp-auth__code-input[data-auth-field-tone]) .aluna-carehub-mvp-auth__code-cells span {
  border-color: var(--aluna-carehub-auth-state-accent);
}

.aluna-carehub-mvp-auth.is-auth-blocking [data-auth-submit][disabled] {
  --aluna-carehub-button-disabled-background: var(--aluna-theme-notice-bg, var(--aluna-system-note-bg));
  --aluna-carehub-button-disabled-border: var(--aluna-theme-notice, var(--aluna-system-note-accent));
  --aluna-carehub-button-disabled-color: var(--aluna-theme-notice-text, var(--aluna-system-note-label));
}

.aluna-carehub-mvp-auth.is-auth-blocking .aluna-carehub-mvp__actions {
  flex-direction: column;
}

.aluna-carehub-mvp-auth.aluna-form-system input.aluna-carehub-mvp-auth__code-input {
  background: transparent;
  border: 0;
  box-shadow: none !important;
  color: transparent;
  inset: 0;
  min-height: 0;
  opacity: 0.02;
  padding: 0;
  position: absolute;
  width: 100%;
}

.aluna-carehub-mvp-auth.aluna-form-system input.aluna-carehub-mvp-auth__code-input:focus {
  box-shadow: none !important;
  outline: 0;
}

.aluna-carehub-mvp-auth__code-wrap {
  display: block;
  margin: 0 auto;
  position: relative;
  width: min(100%, 300px);
}

.aluna-carehub-mvp-auth__code-label {
  margin-inline: auto;
  width: min(100%, 300px);
}

.aluna-carehub-mvp-auth__code-entry {
  display: grid;
  gap: 12px;
}

.aluna-carehub-mvp-auth__code-cells {
  display: grid;
  gap: clamp(5px, 1vw, 7px);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}

.aluna-carehub-mvp-auth__code-cells span {
  align-items: center;
  background: var(--aluna-carehub-form-field-bg);
  border: var(--aluna-form-field-border-width, 1.5px) solid var(--aluna-carehub-form-field-border);
  border-radius: var(--aluna-carehub-form-field-radius);
  box-sizing: border-box;
  color: var(--aluna-accent);
  display: inline-flex;
  font-family: var(--e-global-typography-aluna-h3-font-family, var(--aluna-carehub-body-family));
  font-size: clamp(1.25rem, 1.4vw, 1.4rem);
  font-style: var(--e-global-typography-aluna-h3-font-style, normal);
  font-weight: var(--e-global-typography-aluna-h3-font-weight, 500);
  justify-content: center;
  line-height: var(--e-global-typography-aluna-h3-line-height, 1.24);
  min-height: var(--aluna-carehub-auth-field-height);
}

.aluna-carehub-mvp-auth__code-cells span.is-filled {
  border-color: var(--aluna-accent);
}

.aluna-carehub-mvp-auth__code-wrap:focus-within .aluna-carehub-mvp-auth__code-cells span.is-active {
  background: var(--aluna-carehub-auth-code-active-bg);
  border-color: var(--aluna-carehub-auth-code-active-border);
  box-shadow: 0 0 0 var(--aluna-form-focus-ring-width, 3px) var(--aluna-carehub-auth-code-active-ring);
}

.aluna-carehub-mvp-auth__code-wrap:has(.aluna-carehub-mvp-auth__code-input[aria-invalid="true"]) .aluna-carehub-mvp-auth__code-cells span {
  border-color: var(--aluna-form-error, var(--aluna-attention));
}

.aluna-carehub-mvp-auth__resend {
  color: var(--aluna-muted) !important;
  font-family: var(--e-global-typography-aluna-body-font-family, var(--aluna-carehub-body-family)) !important;
  font-size: var(--e-global-typography-aluna-body-font-size, 1rem) !important;
  font-weight: var(--e-global-typography-aluna-body-font-weight, 300) !important;
  line-height: var(--e-global-typography-aluna-body-line-height, 1.65) !important;
  min-height: 22px;
}

.aluna-carehub-mvp-auth__resend:empty {
  display: none;
}

.aluna-carehub-mvp-auth__resend-button {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--aluna-accent);
  cursor: pointer;
  font-family: var(--e-global-typography-aluna-button-font-family, var(--aluna-carehub-button-family));
  font-size: var(--e-global-typography-aluna-button-font-size, 0.92rem);
  font-style: var(--e-global-typography-aluna-button-font-style, normal);
  font-weight: var(--e-global-typography-aluna-button-font-weight, 700);
  justify-self: center;
  letter-spacing: var(--e-global-typography-aluna-button-letter-spacing, 0);
  line-height: var(--e-global-typography-aluna-button-line-height, 1.12);
  padding: 0;
  text-transform: var(--e-global-typography-aluna-button-text-transform, none);
}

.aluna-carehub-mvp-auth__resend-button:hover,
.aluna-carehub-mvp-auth__resend-button:focus-visible {
  color: var(--aluna-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.aluna-carehub-mvp-auth__help {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: var(--e-global-typography-aluna-fineprint-font-family, var(--aluna-carehub-body-family)) !important;
  font-size: var(--e-global-typography-aluna-fineprint-font-size, 0.76rem) !important;
  font-weight: var(--e-global-typography-aluna-fineprint-font-weight, 400) !important;
  gap: 4px;
  justify-content: center;
  line-height: var(--e-global-typography-aluna-fineprint-line-height, 1.55) !important;
}

.aluna-carehub-mvp-auth__help:has([data-auth-back][hidden]) {
  display: none;
}

.aluna-carehub-mvp-auth__help a,
.aluna-carehub-mvp-auth__text-link {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--aluna-accent);
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.aluna-carehub-mvp-auth__help a:hover,
.aluna-carehub-mvp-auth__help a:focus-visible,
.aluna-carehub-mvp-auth__text-link:hover,
.aluna-carehub-mvp-auth__text-link:focus-visible {
  color: var(--aluna-accent-strong);
}

.aluna-carehub-mvp-auth__sms-consent {
  color: var(--aluna-muted) !important;
  font-family: var(--e-global-typography-aluna-fineprint-font-family, var(--aluna-carehub-body-family)) !important;
  font-size: var(--e-global-typography-aluna-fineprint-font-size, 0.76rem) !important;
  font-style: var(--e-global-typography-aluna-fineprint-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-fineprint-font-weight, 400) !important;
  line-height: var(--e-global-typography-aluna-fineprint-line-height, 1.55) !important;
  max-width: 380px !important;
}

.aluna-carehub-mvp-auth__action-stack {
  display: grid;
  gap: 10px;
  margin-inline: auto;
  max-width: 380px;
  width: 100%;
}

.aluna-carehub-mvp-auth:has([data-auth-code-step]:not([hidden])) .aluna-carehub-mvp-auth__action-stack {
  gap: 18px;
}

.aluna-carehub-mvp--signed-out .aluna-carehub-mvp__actions {
  justify-content: center;
  width: 100%;
}

.aluna-carehub-mvp--signed-out .aluna-carehub-mvp__button {
  min-width: 0;
}

.aluna-carehub-mvp--signed-out .aluna-carehub-mvp__button--secondary {
  min-height: 48px;
}

.aluna-carehub-mvp-auth:has([data-auth-identifier-step]:not([hidden])) {
  gap: 12px;
}

.aluna-carehub-mvp-auth .aluna-carehub-mvp-auth__message:empty {
  display: none;
}

body .aluna-carehub-mvp-auth.aluna-form-system .aluna-carehub-mvp__actions > button[data-auth-submit].aluna-carehub-mvp__button {
  margin-inline: 0;
  width: 100% !important;
}

.aluna-carehub-mvp.is-loading {
  opacity: 0.7;
}

@media (max-width: 860px) {
  .aluna-carehub-mvp--signed-out {
    padding: 0;
  }
}

@media (max-width: 520px) {
  .aluna-carehub-mvp__actions,
  .aluna-carehub-mvp__button {
    width: 100%;
  }

  .aluna-carehub-mvp--signed-out .aluna-carehub-mvp__actions {
    flex-wrap: nowrap;
  }

  .aluna-carehub-mvp--signed-out .aluna-carehub-mvp__actions .aluna-carehub-mvp__button {
    width: 100%;
  }

  .aluna-carehub-mvp--signed-out {
    margin-top: 0;
    padding: 0;
  }

  .aluna-carehub-mvp-auth__code-cells span {
    min-height: 52px;
  }

  .aluna-carehub-mvp--signed-out .aluna-carehub-mvp__button {
    padding-inline: 20px;
  }
}
