.registration-price-confirmation { margin: 0 0 20px; padding: 16px; border: 1px solid #29737180; border-radius: 9px; background: #176b6912; text-align: left; }
.registration-price-confirmation strong, .registration-price-confirmation small { display: block; }
.registration-price-confirmation p { margin: 7px 0; }
.registration-price-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; font-size: 14px; line-height: 1.5; }
.registration-price-consent input { width: 19px; height: 19px; min-width: 19px; margin: 2px 0 0; }
#identity-action-form:has(.registration-price-confirmation:not([hidden])) .identity-action-actions > #identity-show-login { grid-row: 3; grid-column: 1 / -1; justify-self: start; }
#identity-action-form:has(.registration-price-confirmation:not([hidden])) .identity-action-actions:not(:has(#identity-registration-previous:not([hidden]))) > #identity-show-login { grid-row: 2; }
.auth-card.partner-invitation-view { width: min(100%, 60rem); }
.partner-invitation-summary { display: grid; gap: 18px; margin: 0; text-align: left; }
.partner-invitation-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid #cfae5966; border-radius: 12px; background: #071f25b8; }
.partner-invitation-detail { display: grid; gap: 5px; min-width: 0; padding: 15px 17px; border-bottom: 1px solid #cfae5938; }
.partner-invitation-detail:nth-child(odd) { border-right: 1px solid #cfae5938; }
.partner-invitation-label { color: #a7bbb9; font-size: 13px; }
.partner-invitation-detail strong { overflow-wrap: anywhere; color: #f5f2e8; font-size: 15px; }
.partner-invitation-summary>.primary-button { width: 100%; min-height: 52px; }
.partner-invitation-message:not(:empty) { padding: 12px 14px; border-radius: 8px; background: #ffffff12; text-align: center; }
@media (max-width: 650px) { .partner-invitation-details { grid-template-columns: 1fr; } .partner-invitation-detail:nth-child(odd) { border-right: 0; } }

/* Authentication uses the same measured pages as dialogs, including browser zoom
   and the smaller visual viewport while the on-screen keyboard is open. */
#login-shell:has(#auth-card[data-dialog-layout="auth"]) {
  height: min(var(--app-available-height, 100dvh), var(--dialog-viewport-height, 100dvh));
  min-height: 0;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
#login-shell:has(#auth-card[data-dialog-layout="auth"]) .login-visual-panel { display: none; }
#login-shell:has(#auth-card[data-dialog-layout="auth"]) .auth-panel {
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: .6rem;
  gap: .4rem;
  box-sizing: border-box;
}
#login-shell #auth-card[data-dialog-layout="auth"] {
  --auth-page-height: calc(min(var(--app-available-height, 100dvh), var(--dialog-viewport-height, 100dvh)) - 3.5rem);
  max-height: var(--auth-page-height);
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 0 1 auto;
  box-sizing: border-box;
  overflow: hidden;
}
#login-shell #auth-card[data-dialog-layout="auth"].dialog-paged {
  display: flex;
  flex-direction: column;
  height: min(42rem, var(--auth-page-height));
}
#auth-card[data-dialog-layout="auth"] #identity-action-view { flex: 0 0 auto; min-width: 0; }
#auth-card[data-dialog-layout="auth"] :is(form, section, .field, .registration-price-consent, .partner-invitation-details) { min-width: 0; }
#auth-card[data-dialog-layout="auth"] :is(p, strong, small, label, button) { overflow-wrap: anywhere; }
#auth-card[data-dialog-layout="auth"] .registration-price-consent span { min-width: 0; }
#auth-card[data-dialog-layout="auth"].dialog-compact .auth-flow-heading { margin: 0 0 .6rem; }
#auth-card[data-dialog-layout="auth"].dialog-compact .auth-flow-brand { font-size: 1.35rem; margin-bottom: .4rem; }
#auth-card[data-dialog-layout="auth"].dialog-compact #identity-action-title { font-size: 1.5rem; line-height: 1.15; }
#auth-card[data-dialog-layout="auth"].dialog-compact #identity-action-form { padding: 0; gap: .5rem; }
#auth-card[data-dialog-layout="auth"].dialog-compact .registration-price-confirmation { margin-bottom: 0; padding: .65rem; }
#auth-card[data-dialog-layout="auth"].dialog-compact .partner-invitation-detail { padding: .6rem; }
#auth-card[data-dialog-layout="auth"] > .dialog-page-navigation { margin: auto 0 0; }
#auth-card[data-dialog-layout="auth"].dialog-paged .identity-action-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
@media (max-height: 520px) {
  #login-shell #auth-card[data-dialog-layout="auth"] { padding: .55rem .7rem; }
  #auth-card[data-dialog-layout="auth"].dialog-compact .auth-flow-heading > .section-label { display: none; }
  #auth-card[data-dialog-layout="auth"].dialog-compact .auth-flow-brand { font-size: 1.1rem; margin-bottom: .2rem; }
  #auth-card[data-dialog-layout="auth"].dialog-compact #identity-action-title { font-size: 1.2rem; }
  #auth-card[data-dialog-layout="auth"].dialog-compact .dialog-page-navigation button { min-height: 2.3rem; }
}
