.neo-receipt-dialog h2 { margin: 8px 52px 10px 0; font-size: 21px; line-height: 1.3; }
.neo-receipt-dialog p { margin: 0 0 20px; color: #a9b9c7; font-size: 14px; line-height: 1.5; }
.neo-receipt-dialog input { box-sizing: border-box; min-height: 48px; margin-bottom: 16px; font-size: 16px; font-weight: 400; }
.neo-receipt-dialog .payment-pay-button { width: 100%; margin: 0; min-height: 48px; }
.neo-receipt-dialog .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; }
#paymentStatus { color: #a9b9c7; font-size: 14px; line-height: 1.5; }
.neo-pay-return { margin: 0; padding: 32px 20px; background: #101820; color: #f0f6fa; font: 16px/1.6 system-ui; }
.neo-pay-return main { max-width: 520px; margin: 10vh auto; }
.neo-pay-return a { color: #67e6f0; }

.payment-pay-button.neo-button-loading {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  cursor: wait; opacity: .85;
}
.payment-pay-button.neo-button-loading::before {
  content: ""; position: static; inset: auto; background: none; opacity: 1;
  box-sizing: border-box; width: 18px; height: 18px; flex: 0 0 18px;
  border: 2px solid currentColor; border-right-color: transparent;
  border-radius: 50%; animation: neo-payment-spin .8s linear infinite;
}
@keyframes neo-payment-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .payment-pay-button.neo-button-loading::before { animation: none; }
}
