/* Input actions share labels and hints. Card OTP uses an inset request action;
 * other actions sit below the field. Refined appearance uses the app tokens. */
.phone .field-control-label {
  display: block;
  margin: 0 0 8px;
  color: var(--ink);
  font-family: var(--biz-font-medium, "Vazirmatn Medium"), Tahoma, sans-serif;
  font-size: var(--biz-text-body, 14px);
  line-height: var(--biz-line-body, 24px);
}
.phone .field-action-group > div {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  height: var(--biz-field-height, 56px);
  min-height: var(--biz-field-height, 56px);
  padding: 0 12px;
  overflow: visible;
}
.phone .field-action-group > div > svg {
  width: 20px;
  height: 20px;
  justify-self: center;
}
.phone .field-action-group > div > input {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.phone .field-action-group > small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: var(--biz-text-caption, 12px);
  line-height: var(--biz-line-caption, 20px);
}
.phone .field-action-group > .field-action-button {
  width: 100%;
  min-height: var(--biz-action-height, 52px);
  height: auto;
  margin: 12px 0 0;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow: visible;
  white-space: normal;
}
.phone .card-auth-otp-field > div {
  grid-template-columns: 20px minmax(0, 1fr) max-content;
  padding: 4px 12px 4px 4px;
}
.phone .card-auth-otp-field > div > button.field-action-button {
  /* Reserve room for the countdown so requesting a code never shifts the input. */
  width: max-content !important;
  min-width: 132px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-family: var(--biz-font-medium, "Vazirmatn Medium"), Tahoma, sans-serif;
  font-size: var(--biz-text-caption, 12px) !important;
  line-height: var(--biz-line-caption, 20px) !important;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

/* Matched control boundaries, labels and action sizes. */
.phone.next-ui-theme.app-theme-refined :is(.field > div, .search-field,
  .card-auth-cvv-field > div, .card-auth-expiry-control) {
  border-width: var(--biz-control-stroke);
  border-style: solid;
  border-color: var(--biz-control-line);
}
.phone.next-ui-theme.app-theme-refined .field-action-button {
  font-family: var(--biz-font-medium);
  font-size: var(--biz-text-body) !important;
  line-height: var(--biz-line-body);
  border-radius: var(--biz-radius-control);
}
.phone.next-ui-theme.app-theme-refined .card-auth-otp-field > div > .field-action-button {
  border: 0;
  border-radius: calc(var(--biz-radius-control) - 6px);
  color: var(--biz-info);
  background: var(--biz-info-soft);
  font-size: var(--biz-text-caption) !important;
}
.phone.next-ui-theme.app-theme-refined .card-auth-otp-field > div > .field-action-button:disabled {
  opacity: 1;
  color: var(--biz-muted);
  background: var(--biz-surface-soft);
}
.phone.next-ui-theme.app-theme-refined .card-auth-sheet form > .field {
  margin-bottom: var(--biz-space-5) !important;
}
.phone.next-ui-theme.app-theme-refined .card-auth-grid { gap: var(--biz-space-3); }
.phone.next-ui-theme.app-theme-refined .card-auth-grid > .field { margin: 0; }
.phone.next-ui-theme.app-theme-refined :is(.card-auth-grid > .field > span,
  .card-auth-expiry > legend) {
  width: 100%;
  height: auto;
  margin: 0 0 var(--biz-space-2);
  padding: 0;
  font-family: var(--biz-font-medium);
  font-size: var(--biz-text-body);
  line-height: var(--biz-line-body);
}
.phone.next-ui-theme.app-theme-refined :is(.card-auth-cvv-field > div,
  .card-auth-expiry-control) {
  height: var(--biz-field-height);
  min-height: var(--biz-field-height);
  border-radius: var(--biz-radius-control);
  background: var(--biz-surface);
}
.phone.next-ui-theme.app-theme-refined .card-auth-expiry-control input {
  font-size: var(--biz-text-body);
  font-family: var(--biz-font-regular);
}
.phone.next-ui-theme.app-theme-refined .card-auth-expiry-control:focus-within {
  border-color: var(--biz-focus);
  box-shadow: 0 0 0 3px var(--biz-selected);
}
.phone.next-ui-theme.app-theme-refined .card-auth-source {
  grid-template-columns: var(--biz-icon-tile-row) minmax(0, 1fr) auto;
  gap: var(--biz-space-3);
  margin-block: var(--biz-space-5);
  padding: var(--biz-space-4);
  border: var(--biz-control-stroke) solid var(--biz-line);
  border-radius: var(--biz-radius-control);
  background: var(--biz-surface-soft);
}
.phone.next-ui-theme.app-theme-refined .card-auth-source > span {
  width: var(--biz-icon-tile-row);
  height: var(--biz-icon-tile-row);
  border-radius: var(--biz-icon-radius-row);
  color: var(--biz-info);
  background: var(--biz-info-soft);
}
.phone.next-ui-theme.app-theme-refined .card-auth-source > span > svg {
  width: var(--biz-icon-glyph);
  height: var(--biz-icon-glyph);
  stroke-width: var(--biz-icon-stroke);
}
.phone.next-ui-theme.app-theme-refined .card-auth-security {
  margin-block: var(--biz-space-4) !important;
  padding: var(--biz-space-3);
  grid-template-columns: var(--biz-icon-glyph) minmax(0, 1fr);
  gap: var(--biz-space-2);
  color: var(--biz-muted) !important;
  background: var(--biz-surface-soft);
  font-size: var(--biz-text-caption) !important;
  line-height: var(--biz-line-caption);
}
.phone.next-ui-theme.app-theme-refined .card-auth-security svg {
  width: var(--biz-icon-glyph);
  height: var(--biz-icon-glyph);
  color: var(--biz-info);
}

/* The lookup result and its edit action remain one coherent address card. */
.phone.next-ui-theme.app-theme-refined .postal-result.streamlined {
  padding: var(--biz-space-4);
  gap: var(--biz-space-3);
  grid-template-columns: var(--biz-icon-tile-compact) minmax(0, 1fr) auto;
  border: var(--biz-control-stroke) solid var(--biz-line);
  border-radius: var(--biz-radius-control);
  background: var(--biz-surface);
}
.phone.next-ui-theme.app-theme-refined .postal-result.streamlined > span {
  width: var(--biz-icon-tile-compact);
  height: var(--biz-icon-tile-compact);
  border-radius: var(--biz-icon-radius-compact);
  color: var(--biz-success);
  background: var(--biz-success-soft);
}
.phone.next-ui-theme.app-theme-refined .postal-result.streamlined > button {
  min-width: var(--biz-touch);
  min-height: var(--biz-touch);
  padding: var(--biz-space-2);
  border: 0;
  border-radius: var(--biz-icon-radius-row);
  color: var(--biz-info);
  background: var(--biz-info-soft);
  font-family: var(--biz-font-medium);
  font-size: var(--biz-text-caption);
  line-height: var(--biz-line-caption);
}
.phone.next-ui-theme.app-theme-refined .profile-form > .address-confirm-action {
  margin-top: var(--biz-space-4) !important;
  min-height: var(--biz-action-height);
}
.phone.app-theme-refined .sheet-account-row {
  grid-template-columns: var(--biz-icon-tile-row) minmax(0, 1fr) auto 20px;
  min-height: 80px;
  gap: var(--biz-space-2);
}
.phone.app-theme-refined .sheet-account-row > span:nth-child(2) { min-width: 0; }

/* Removed redundant selection copy does not leave an empty grid track. */
.phone .recipient-list .recipient-row {
  grid-template-columns: var(--biz-icon-tile-row, 40px) minmax(0, 1fr);
}
.phone .recipient-group-destination:not(.matched) {
  grid-template-columns: var(--biz-icon-tile-compact, 32px) minmax(0, 1fr);
}

/* Named helper notes keep a clear gap from the card or action above them. */
.phone.next-ui-theme.app-theme-refined :is(.smart-source-note, .security-banner,
  .face-privacy, .recovery-security-note, .activation-footnote,
  .correction-plan-footnote, .health-note, .connector-consent,
  .invoice-plain-note, .scf-legal-note, .cashflow-calculation-note) {
  margin-block-start: var(--biz-space-3);
  color: var(--biz-muted);
  font-family: var(--biz-font-regular);
  font-size: var(--biz-text-caption) !important;
  line-height: var(--biz-line-caption);
}

/* Keep card-to-note separation explicit in compact transfer layouts. */
.phone.next-ui-theme.app-theme-refined .transfer-amount-card + .smart-source-note {
  margin: var(--biz-space-3) 0 !important;
}

.phone.next-ui-theme.app-theme-refined :is(.smart-source-note, .security-banner,
  .face-privacy, .recovery-security-note, .health-note, .connector-consent,
  .invoice-plain-note, .scf-legal-note, .cashflow-calculation-note):not([hidden]) {
  display: grid;
  grid-template-columns: var(--biz-icon-glyph) minmax(0, 1fr);
  align-items: start;
  gap: var(--biz-space-2);
}

.phone.next-ui-theme.app-theme-refined :is(.smart-source-note, .security-banner,
  .face-privacy, .recovery-security-note, .health-note, .connector-consent,
  .invoice-plain-note, .scf-legal-note, .cashflow-calculation-note) > svg {
  width: var(--biz-icon-glyph);
  min-width: var(--biz-icon-glyph);
  height: var(--biz-icon-glyph);
  margin: 0;
  display: block;
  transform: none;
  stroke-width: var(--biz-icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.phone.next-ui-theme.app-theme-refined :is(.smart-source-note, .security-banner,
  .face-privacy, .recovery-security-note, .health-note, .connector-consent,
  .invoice-plain-note, .scf-legal-note, .cashflow-calculation-note) > span {
  min-width: 0;
  font-size: var(--biz-text-caption) !important;
  line-height: var(--biz-line-caption);
}

.phone.next-ui-theme.app-theme-refined .recovery-security-note strong {
  font-size: var(--biz-text-body) !important;
  line-height: var(--biz-line-body);
}
.phone.next-ui-theme.app-theme-refined .recovery-security-note small {
  color: var(--biz-muted);
  line-height: var(--biz-line-caption);
}
.phone.next-ui-theme.app-theme-refined .activation-footnote:not([hidden]) {
  display: block;
}
.phone.next-ui-theme.app-theme-refined .smart-source-note > svg:has(use[href="#i-check"]) {
  stroke-width: var(--biz-icon-check-stroke);
}
