:root {
  color-scheme: light;
  --v3-page-width: 1440;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: #fff;
  color: #0d0d0d;
  font-family: "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

/* Preserve the 1440px Figma canvas inside the layout viewport. Native desktop
   scrollbars otherwise steal 15px and scale every exported glyph and control. */
html {
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

body {
  overflow-x: hidden;
}

body.page-transition {
  opacity: 0;
  transition: opacity 200ms ease;
}

body.page-transition.is-loaded {
  opacity: 1;
}

body.page-transition.is-leaving {
  opacity: 0;
  transition-duration: 150ms;
}

.v3-page-frame {
  position: relative;
  width: min(100%, var(--v3-frame-width, 1440px));
  margin: 0 auto;
  background: #fff;
  line-height: 0;
}

/* The Privacy export has a transparent 10px source gap below its dark navbar. */
.v3-page-frame[data-v3-page="privacy"] {
  background: #0d0d0d;
}

/* Payer Proof auth exports leave four transparent pixels between the 64px
   navbar and the dark hero. Paint that export-only gap with the same navbar
   color so it cannot read as an extra divider or make the header look taller. */
.v3-page-frame[data-v3-page="payerproof-login"],
.v3-page-frame[data-v3-page="payerproof-create-profile"] {
  background: #0d0d0d;
}

.v3-page-art {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
}

.v3-page-frame[data-v3-art-clip] .v3-page-art {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: auto;
}

/* Queue's Payer Proof pilot navbar is native HTML/CSS. Keeping the 1440px
   coordinates here avoids raster/cropped-SVG text and preserves the Figma
   baseline at every desktop render scale. */
.ay-pp-dashboard-brand-clone.v3-box {
  z-index: 4;
  overflow: hidden;
  pointer-events: none;
}

.ay-pp-pilot-realnav {
  background: #0d0d0d;
  color: #fff;
  font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: normal;
}

.ay-pp-pilot-brand,
.ay-pp-pilot-nav,
.ay-pp-pilot-user {
  position: absolute;
  display: flex;
  align-items: center;
}

.ay-pp-pilot-brand {
  left: 48px;
  top: 0;
  height: 64px;
  gap: 10px;
  white-space: nowrap;
}

.ay-pp-pilot-brand img {
  display: block;
  width: 15px;
  height: 15px;
}

.ay-pp-pilot-brand strong {
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
}

.ay-pp-pilot-brand span,
.ay-pp-pilot-brand em {
  opacity: .5;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}

.ay-pp-pilot-nav {
  left: 703.5px;
  top: 0;
  height: 64px;
  gap: 32px;
  font-size: 13px;
  white-space: nowrap;
}

.ay-pp-pilot-nav span {
  opacity: .5;
  font-weight: 500;
}

.ay-pp-pilot-nav strong {
  font-weight: 600;
}

.ay-pp-pilot-user {
  left: 1258px;
  top: 16px;
  box-sizing: border-box;
  width: 134px;
  height: 32px;
  justify-content: center;
  gap: 8px;
  border: 1px solid #fff;
  border-radius: 9999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.ay-pp-pilot-user svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.v3-multihop-header-art {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: calc((61 / var(--page-h)) * 100%);
  pointer-events: none;
}

.v3-multihop-header-art svg {
  display: block;
}

.ay-mh-pilot-realnav {
  overflow: hidden;
  background: #0d0d0d;
  color: #fbf7ef;
  font-family: "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  line-height: normal;
}

.ay-mh-pilot-brand,
.ay-mh-pilot-nav,
.ay-mh-pilot-user {
  position: absolute;
  display: flex;
  align-items: center;
}

.ay-mh-pilot-brand {
  left: calc((24 / 1440) * 100%);
  top: calc((21 / 61) * 100%);
  width: calc(247px * var(--v3-render-scale, 1));
  height: calc((19 / 61) * 100%);
  gap: calc(5px * var(--v3-render-scale, 1));
  white-space: nowrap;
}

.ay-mh-pilot-brand > img {
  width: calc(15px * var(--v3-render-scale, 1));
  height: calc(15px * var(--v3-render-scale, 1));
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
}

.ay-mh-pilot-brand strong,
.ay-mh-pilot-brand span,
.ay-mh-pilot-brand em {
  display: block;
  color: #fff;
  font-size: calc(15px * var(--v3-render-scale, 1));
  line-height: 1.25;
}

.ay-mh-pilot-brand strong {
  margin-left: calc(7px * var(--v3-render-scale, 1));
  font-weight: 700;
}

.ay-mh-pilot-brand span {
  opacity: .6;
  font-weight: 400;
}

.ay-mh-pilot-brand em {
  margin-left: calc(5px * var(--v3-render-scale, 1));
  color: #fbf7ef;
  font-style: normal;
  font-weight: 500;
}

.ay-mh-pilot-nav {
  left: calc((647.5 / 1440) * 100%);
  top: calc((14.5 / 61) * 100%);
  height: calc((32 / 61) * 100%);
  gap: calc(4px * var(--v3-render-scale, 1));
}

.ay-mh-pilot-nav-item {
  display: flex;
  height: calc(32px * var(--v3-render-scale, 1));
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  padding: calc(8px * var(--v3-render-scale, 1)) calc(16px * var(--v3-render-scale, 1));
  color: rgba(251, 247, 239, .5);
  font-size: calc(13px * var(--v3-render-scale, 1));
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.ay-mh-pilot-nav-item.is-active {
  color: #fbf7ef;
  font-weight: 600;
}

.ay-mh-pilot-user {
  right: calc((24 / 1440) * 100%);
  top: calc((14.5 / 61) * 100%);
  width: calc(134px * var(--v3-render-scale, 1));
  height: calc(32px * var(--v3-render-scale, 1));
  gap: calc(8px * var(--v3-render-scale, 1));
  justify-content: center;
  border: calc(1px * var(--v3-render-scale, 1)) solid #fff;
  border-radius: 9999px;
  padding: calc(8px * var(--v3-render-scale, 1)) calc(12px * var(--v3-render-scale, 1));
  color: #fff;
}

.ay-mh-pilot-user span {
  font-size: calc(13px * var(--v3-render-scale, 1));
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.ay-mh-pilot-user svg {
  width: calc(16px * var(--v3-render-scale, 1));
  height: calc(16px * var(--v3-render-scale, 1));
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.v3-multihop-header-chevron-open {
  opacity: 0;
}

.v3-page-frame:has(.v3-user-menu.open) .v3-multihop-header-chevron-open {
  opacity: 1;
}

.v3-page-frame:has(.v3-user-menu.open) .v3-multihop-header-chevron-closed {
  opacity: 0;
}

.v3-hotspots,
.v3-form {
  position: absolute;
  inset: 0;
  z-index: 3;
  line-height: normal;
  pointer-events: none;
}

.v3-text-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  line-height: normal;
  pointer-events: none;
}

.v3-selectable-text {
  position: absolute;
  left: calc((var(--x) / var(--v3-page-width)) * 100%);
  top: calc((var(--y) / var(--page-h)) * 100%);
  display: block;
  width: calc((var(--w) / var(--v3-page-width)) * 100%);
  height: calc((var(--h) / var(--page-h)) * 100%);
  overflow: hidden;
  color: transparent;
  font: 600 clamp(9px, 1vw, 14px) / 1.25 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  white-space: nowrap;
  user-select: text;
  -webkit-user-select: text;
  pointer-events: auto;
  cursor: text;
}

.v3-selectable-text::selection {
  background: rgba(68, 198, 127, 0.36);
  color: transparent;
}

.v3-box {
  position: absolute;
  left: calc((var(--x) / var(--v3-page-width)) * 100%);
  top: calc((var(--y) / var(--page-h)) * 100%);
  width: calc((var(--w) / var(--v3-page-width)) * 100%);
  height: calc((var(--h) / var(--page-h)) * 100%);
  pointer-events: auto;
}

.v3-anchor-target {
  pointer-events: none;
}

.v3-link,
.v3-submit,
.v3-action {
  display: block;
  min-width: 1px;
  min-height: 1px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  cursor: pointer;
  text-decoration: none;
}

/* Native request button used by the standalone FAQ, contact, and legal nav. */
.ay-hipaa-request {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 132px;
  height: 32px;
  padding: 8px 16px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #0d0d0d;
  box-shadow: inset 0 0 0 1px #fff;
  color: #fff;
  font: 600 13px / normal "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  text-decoration: none;
  white-space: nowrap;
}

/* Full-art pages clone the FAQ navbar button without redefining its visual
   styles. This class only places that exact clone over the exported artwork. */
@media (min-width: 601px) {
  .v3-navbar-request-clone {
    left: auto;
    right: calc(48px * var(--v3-render-scale, 1));
    top: calc(16px * var(--v3-render-scale, 1));
    z-index: 30;
    width: calc(132px * var(--v3-render-scale, 1));
    height: calc(32px * var(--v3-render-scale, 1));
    padding: calc(8px * var(--v3-render-scale, 1)) calc(16px * var(--v3-render-scale, 1));
    border-radius: 9999px;
    font-size: calc(13px * var(--v3-render-scale, 1));
    box-shadow: inset 0 0 0 calc(1px * var(--v3-render-scale, 1)) #fff;
  }
}

/* Phone compositions own their separate menu CTA at 600px and below. */
@media (max-width: 600px) {
  .ay-hipaa-request.v3-navbar-request-clone {
    display: block;
    left: calc((var(--x) / var(--v3-page-width)) * 100%);
    top: calc((var(--y) / var(--page-h)) * 100%);
    width: calc((var(--w) / var(--v3-page-width)) * 100%);
    height: calc((var(--h) / var(--page-h)) * 100%);
    min-width: 1px;
    min-height: 1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    color: transparent;
  }
}

.v3-password-toggle.v3-box {
  z-index: 12;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  padding: 0;
  background: transparent;
  color: #6d6a64;
  font: 500 13px / 1 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  cursor: pointer;
}

.v3-password-toggle.v3-box:hover {
  color: #0d0d0d;
}

.v3-password-toggle.v3-box:focus-visible {
  outline: 2px solid rgba(68, 198, 127, 0.92);
  outline-offset: -2px;
}

/* Latest Figma node 427:40. This visible native-text layer replaces the older
   outlined SVG sentence so its two mixed color/weight segments stay exact. */
.v3-docs-request-row.v3-box {
  z-index: 14;
  display: flex;
  align-items: flex-start;
  overflow: visible;
  background: #fff;
  box-shadow: 0 0 0 4px #fff;
  color: #6b7280;
  font: 500 15px / normal "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}

.v3-docs-request-row > span {
  color: #6b7280;
  font-weight: 500;
}

.v3-docs-request-row > a {
  position: relative;
  color: #0d0d0d;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.v3-docs-request-row > a::before {
  content: "";
  position: absolute;
  inset: -7px -6px;
}

.v3-docs-request-row > a:focus-visible {
  outline: 2px solid rgba(68, 198, 127, 0.92);
  outline-offset: 4px;
  border-radius: 3px;
}

[data-v3-pilots-trigger],
[data-v3-user-trigger] {
  z-index: 25;
}

/* Shared authenticated navbar control. The source SVGs still contain the
   pre-auth request button, so this component also paints the exact navbar
   background beneath the current Figma profile pill. */
.v3-auth-profile {
  z-index: 40;
  overflow: visible;
  background: #0d0d0d;
  color: #fff;
  line-height: normal;
}

.v3-auth-profile-group {
  display: contents;
  pointer-events: none;
}

.v3-auth-profile-pill {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #fff;
  border-radius: 9999px;
  background: #0d0d0d;
  color: #fff;
  font: 600 12px / normal "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.v3-auth-profile-pill:hover,
.v3-auth-profile-pill[aria-expanded="true"] {
  background: #0d0d0d;
}

.v3-auth-profile-pill:focus-visible {
  outline: 2px solid rgba(68, 198, 127, 0.92);
  outline-offset: 2px;
}

.v3-auth-profile-pill > svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 180ms cubic-bezier(.16, 1, .3, 1);
}

.v3-auth-profile-pill[aria-expanded="true"] > svg {
  transform: none;
}

.v3-auth-profile-pill.v3-auth-profile-payerproof-clone {
  padding: 0;
  border: 0;
  background: transparent;
}

.v3-auth-profile-pill.v3-auth-profile-payerproof-clone:hover,
.v3-auth-profile-pill.v3-auth-profile-payerproof-clone[aria-expanded="true"] {
  background: transparent;
}

.v3-auth-profile-payerproof-art.v3-box {
  z-index: 39;
  overflow: hidden;
  clip-path: polygon(87.361111% 25%, 96.666667% 25%, 96.666667% 75%, 87.361111% 75%);
  pointer-events: none;
}

.v3-auth-profile-payerproof-art img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.v3-link:focus-visible,
.v3-submit:focus-visible,
.v3-action:focus-visible,
.v3-menu-hit:focus-visible,
.v3-input:focus-visible,
.v3-textarea:focus-visible {
  outline: 2px solid rgba(68, 198, 127, 0.92);
  outline-offset: 2px;
}

.v3-pilots-menu,
.v3-user-menu {
  z-index: 30;
  display: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  line-height: normal;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 180ms cubic-bezier(.16, 1, .3, 1), transform 180ms cubic-bezier(.16, 1, .3, 1);
}

/* The canonical dropdown export includes transparent canvas above the visible
   panel. Let that area pass through so the account trigger still toggles shut. */
.v3-user-menu {
  pointer-events: none;
}

.v3-user-menu .v3-menu-hit {
  pointer-events: auto;
}

.v3-user-menu-single {
  width: 134px !important;
  height: 48px !important;
  padding: 8px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
}

.v3-user-menu-single .v3-single-signout {
  pointer-events: auto;
  display: flex;
  width: 118px;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: #343434;
  font: 500 12px/1 var(--font-sans);
  cursor: pointer;
}

.v3-user-menu-single .v3-single-signout svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #343434;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.v3-user-menu-single .v3-single-signout:hover span,
.v3-user-menu-single .v3-single-signout:focus-visible span {
  border-radius: 4px;
  background: #ecfdf5;
}

.v3-pilots-menu.open,
.v3-user-menu.open {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.v3-dropdown-art {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}

.v3-pilots-dropdown-art,
.v3-user-dropdown-art {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.v3-pilots-dropdown-art {
  transition: opacity 120ms ease;
}

.v3-user-dropdown-art {
  image-rendering: auto;
  transition: none;
}

.v3-user-dropdown-art-single {
  opacity: 1;
}

.v3-pilots-dropdown-art-default,
.v3-user-dropdown-art-default {
  opacity: 1;
}

.v3-pilots-menu:has([data-v3-pilots-row="payerproof"]:hover) .v3-pilots-dropdown-art-default,
.v3-pilots-menu:has([data-v3-pilots-row="payerproof"]:focus-visible) .v3-pilots-dropdown-art-default,
.v3-pilots-menu:has([data-v3-pilots-row="multihop"]:hover) .v3-pilots-dropdown-art-default,
.v3-pilots-menu:has([data-v3-pilots-row="multihop"]:focus-visible) .v3-pilots-dropdown-art-default,
.v3-user-menu:has([data-v3-user-row="profile"]:hover) .v3-user-dropdown-art-default,
.v3-user-menu:has([data-v3-user-row="profile"]:focus-visible) .v3-user-dropdown-art-default,
.v3-user-menu:has([data-v3-user-row="sign-out"]:hover) .v3-user-dropdown-art-default,
.v3-user-menu:has([data-v3-user-row="sign-out"]:focus-visible) .v3-user-dropdown-art-default {
  opacity: 0;
}

.v3-pilots-menu:has([data-v3-pilots-row="payerproof"]:hover) .v3-pilots-dropdown-art-payer,
.v3-pilots-menu:has([data-v3-pilots-row="payerproof"]:focus-visible) .v3-pilots-dropdown-art-payer,
.v3-pilots-menu[data-v3-hover-row="payerproof"] .v3-pilots-dropdown-art-payer {
  opacity: 1;
}

.v3-pilots-menu:has([data-v3-pilots-row="multihop"]:hover) .v3-pilots-dropdown-art-multihop,
.v3-pilots-menu:has([data-v3-pilots-row="multihop"]:focus-visible) .v3-pilots-dropdown-art-multihop,
.v3-pilots-menu[data-v3-hover-row="multihop"] .v3-pilots-dropdown-art-multihop {
  opacity: 1;
}

.v3-pilots-menu[data-v3-hover-row] .v3-pilots-dropdown-art-default {
  opacity: 0;
}

.v3-user-menu:has([data-v3-user-row="profile"]:hover) .v3-user-dropdown-art-profile,
.v3-user-menu:has([data-v3-user-row="profile"]:focus-visible) .v3-user-dropdown-art-profile {
  opacity: 1;
}

.v3-user-menu:has([data-v3-user-row="sign-out"]:hover) .v3-user-dropdown-art-signout,
.v3-user-menu:has([data-v3-user-row="sign-out"]:focus-visible) .v3-user-dropdown-art-signout {
  opacity: 1;
}

.v3-menu-hit {
  position: absolute;
  left: calc((var(--x) / var(--menu-w)) * 100%);
  top: calc((var(--y) / var(--menu-h)) * 100%);
  width: calc((var(--w) / var(--menu-w)) * 100%);
  height: calc((var(--h) / var(--menu-h)) * 100%);
  border: 0;
  background: transparent;
  color: transparent;
  text-decoration: none;
  cursor: pointer;
}

.v3-user-menu .v3-menu-hit[data-v3-user-row] {
  border-radius: 16px;
}

.v3-faq-answer-card {
  z-index: 22;
  overflow: auto;
  padding: 18px 22px;
  border: 1px solid rgba(13, 13, 13, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  color: #343433;
  box-shadow: 0 18px 44px rgba(13, 13, 13, 0.16);
  line-height: normal;
  animation: v3FaqCardIn 160ms ease forwards;
}

.v3-faq-answer-card h2 {
  margin: 0 0 8px;
  color: #343433;
  font: 700 15px / 1.3 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-faq-answer-card p {
  margin: 0;
  color: #6b7280;
  font: 400 14px / 1.45 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

@keyframes v3FaqCardIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.v3-mobile-signout {
  position: fixed;
  right: 16px;
  top: 72px;
  z-index: 34;
  display: none;
  min-width: 118px;
  height: 32px;
  padding: 0 16px;
  border: 1px solid rgba(52, 52, 51, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: #343433;
  font: 600 13px / 1 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  box-shadow: 0 12px 30px rgba(13, 13, 13, 0.14);
  cursor: pointer;
  pointer-events: auto;
}

@media (max-width: 600px) {
  .v3-mobile-signout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.v3-profile-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  line-height: normal;
}

.v3-profile-modal.open {
  display: flex;
}

.v3-profile-scrim {
  position: absolute;
  inset: 0;
  background: rgba(13, 13, 13, 0.44);
  opacity: 0;
  animation: v3FadeIn 200ms ease forwards;
}

.v3-profile-card {
  position: relative;
  z-index: 1;
  width: min(548px, 90vw);
  aspect-ratio: 548 / 581;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
  box-shadow: none;
  opacity: 0;
  transform: scale(.95);
  animation: v3ModalIn 250ms cubic-bezier(.16, 1, .3, 1) forwards;
}

.v3-profile-card-art {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}

.v3-profile-close {
  position: absolute;
  left: calc(440 / 548 * 100%);
  top: calc(56 / 581 * 100%);
  width: calc(26 / 548 * 100%);
  height: calc(26 / 581 * 100%);
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

.v3-profile-state-select {
  position: absolute;
  left: calc(279 / 548 * 100%);
  top: calc(340 / 581 * 100%);
  width: calc(181 / 548 * 100%);
  height: calc(57 / 581 * 100%);
  border: 0;
  background: transparent;
  color: transparent;
  opacity: 0.01;
  cursor: pointer;
}

.v3-profile-done {
  position: absolute;
  left: calc(214 / 548 * 100%);
  top: calc(421.5 / 581 * 100%);
  width: calc(120 / 548 * 100%);
  height: calc(40 / 581 * 100%);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

.v3-asset-modal {
  position: fixed;
  inset: 0;
  z-index: 55;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  line-height: normal;
}

.v3-asset-modal.open {
  display: flex;
}

.v3-asset-scrim {
  position: absolute;
  inset: 0;
  background: rgba(13, 13, 13, 0.44);
  opacity: 0;
  animation: v3FadeIn 200ms ease forwards;
}

.v3-asset-card {
  position: relative;
  z-index: 1;
  width: min(90vw, 720px);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  transform: scale(.95);
  animation: v3ModalIn 250ms cubic-bezier(.16, 1, .3, 1) forwards;
}

.v3-asset-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.v3-asset-close {
  position: absolute;
  right: 4%;
  top: 5%;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

@keyframes v3FadeIn {
  to { opacity: 1; }
}

@keyframes v3ModalIn {
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 480px) {
  .v3-profile-modal {
    padding: 0;
  }

  .v3-profile-card {
    width: 100vw;
    min-height: 100vh;
    border-radius: 0;
  }
}

.v3-input,
.v3-textarea {
  border: 0;
  background: transparent;
  color: transparent;
  caret-color: transparent;
  font: 500 clamp(11px, 1.05vw, 15px) / 1.3 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  padding: 0 clamp(10px, 1.4vw, 20px);
  outline: 0;
}

.v3-input:focus,
.v3-textarea:focus,
.v3-input.has-value,
.v3-textarea.has-value {
  color: #0d0d0d;
  caret-color: #0d0d0d;
  background: #f5f5f7;
}

.v3-textarea {
  resize: none;
  padding-top: clamp(8px, 0.9vw, 14px);
}

.v3-input::placeholder,
.v3-textarea::placeholder {
  color: transparent;
}

/* Figma-auth overlays stay visually transparent until the user interacts.
   This preserves the exported artwork while keeping every field native,
   keyboard accessible, selectable, and compatible with password managers. */
.v3-auth-field.v3-box {
  z-index: 8;
  overflow: visible;
  border-radius: 12px;
}

.v3-auth-field .v3-auth-control {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  color: transparent;
  caret-color: transparent;
  font: 500 15px / 1.3 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-auth-field .v3-auth-control::placeholder {
  color: transparent;
}

.v3-auth-field .v3-auth-control:focus,
.v3-auth-field .v3-auth-control.has-value,
.v3-auth-field.has-value .v3-auth-control {
  background: #f5f5f7;
  color: #0d0d0d;
  caret-color: #0d0d0d;
}

.v3-auth-field .v3-auth-control:focus::placeholder {
  color: #8f9198;
}

.v3-auth-field .v3-auth-control:-webkit-autofill,
.v3-auth-field .v3-auth-control:-webkit-autofill:hover,
.v3-auth-field .v3-auth-control:-webkit-autofill:focus,
.ay-docs-login-field .v3-auth-control:-webkit-autofill,
.ay-docs-login-field .v3-auth-control:-webkit-autofill:hover,
.ay-docs-login-field .v3-auth-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #0d0d0d;
  caret-color: #0d0d0d;
  box-shadow: 0 0 0 1000px #f5f5f7 inset;
  transition: background-color 9999s ease-out 0s;
}

body[data-v3-page-slug="multihop-login"] .v3-auth-field[data-v3-field="password"] .v3-auth-control,
body[data-v3-page-slug="payerproof-login"] .v3-auth-field[data-v3-field="password"] .v3-auth-control,
body[data-v3-page-slug="docs-login"] #password {
  padding-right: 82px;
}

.v3-auth-select-field .v3-auth-select {
  cursor: pointer;
}

.v3-auth-select-field .v3-auth-select-value {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  box-sizing: border-box;
  align-items: center;
  padding: 0 48px 0 20px;
  border-radius: 12px;
  background: #f5f5f7;
  color: #0d0d0d;
  font: 500 15px / 1.3 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  pointer-events: none;
}

.v3-auth-select-field .v3-auth-select-value::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #6b7280;
  border-bottom: 1.5px solid #6b7280;
  transform: translateY(-70%) rotate(45deg);
}

.v3-auth-select-field.has-value .v3-auth-select-value,
.v3-auth-select-field:focus-within .v3-auth-select-value {
  display: flex;
}

.v3-auth-field.field-error .v3-auth-control,
.v3-auth-field.field-error .v3-auth-select-value {
  box-shadow: inset 0 0 0 2px #b42318;
}

.v3-field-error-message {
  position: absolute;
  left: 4px;
  top: calc(100% + 4px);
  z-index: 3;
  display: none;
  width: calc(100% - 8px);
  color: #b42318;
  font: 600 10px / 1.2 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-auth-field.field-error .v3-field-error-message {
  display: block;
}

.v3-form-inline-error {
  z-index: 9;
  display: none;
  align-items: center;
  color: #b42318;
  font: 600 11px / 1.25 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-form-inline-error.visible {
  display: flex;
}

.v3-auth-submit {
  z-index: 9;
}

.v3-auth-submit.is-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0d0d0d;
  color: #fff;
  cursor: wait;
}

.v3-auth-submit-live-label {
  display: none;
  color: #fff;
  font: 600 15px / 1 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-auth-submit.is-loading .v3-auth-submit-live-label {
  display: inline;
}

.v3-profile-created-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(13, 13, 13, 0.48);
}

.v3-profile-created-card {
  position: relative;
  width: min(480px, calc(100vw - 48px));
  aspect-ratio: 480 / 320;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.24);
  animation: v3ModalIn 250ms cubic-bezier(.16, 1, .3, 1) forwards;
}

.v3-profile-created-card img {
  display: block;
  width: 100%;
  height: 100%;
}

.v3-profile-created-login {
  position: absolute;
  left: calc(32 / 480 * 100%);
  top: calc(228 / 320 * 100%);
  width: calc(416 / 480 * 100%);
  height: calc(48 / 320 * 100%);
  border-radius: 999px;
  color: transparent;
  text-decoration: none;
}

.v3-profile-created-login:focus-visible {
  outline: 3px solid #6366f1;
  outline-offset: 3px;
}

body:has(.v3-profile-created-modal) {
  overflow: hidden;
}

/* Keep coordinate-based form overlays independent from native component CSS. */
.v3-page-frame .v3-form .v3-input.v3-box,
.v3-page-frame .v3-form .v3-textarea.v3-box,
.v3-page-frame .v3-hotspots .v3-input.v3-box,
.v3-page-frame .v3-hotspots .v3-textarea.v3-box {
  width: calc((var(--w) / var(--v3-page-width)) * 100%);
  padding: 0 clamp(10px, 1.4vw, 20px);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
  caret-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  font: 500 clamp(11px, 1.05vw, 15px) / 1.3 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

.v3-page-frame .v3-form .v3-textarea.v3-box,
.v3-page-frame .v3-hotspots .v3-textarea.v3-box {
  padding-top: clamp(8px, 0.9vw, 14px);
  min-height: 1px;
  resize: none;
}

.v3-page-frame .v3-form .v3-input.v3-box:focus,
.v3-page-frame .v3-form .v3-textarea.v3-box:focus,
.v3-page-frame .v3-form .v3-input.v3-box.has-value,
.v3-page-frame .v3-form .v3-textarea.v3-box.has-value,
.v3-page-frame .v3-hotspots .v3-input.v3-box:focus,
.v3-page-frame .v3-hotspots .v3-textarea.v3-box:focus,
.v3-page-frame .v3-hotspots .v3-input.v3-box.has-value,
.v3-page-frame .v3-hotspots .v3-textarea.v3-box.has-value {
  border: 0;
  background: #f5f5f7;
  color: #0d0d0d;
  caret-color: #0d0d0d;
}

.v3-form-status {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 10;
  max-width: min(360px, calc(100vw - 32px));
  padding: 10px 12px;
  border: 1px solid rgba(13, 13, 13, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  color: #0d0d0d;
  font: 500 13px / 1.35 "Plus Jakarta Sans", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.v3-form-status.visible {
  opacity: 1;
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
