body.receipt-open { overflow: hidden; }
.contact-receipt {
  box-sizing: border-box;
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  margin: auto;
  padding: clamp(1.5rem, 5vw, 2.75rem);
  border: 1px solid rgba(0, 209, 255, .3);
  border-radius: 1.5rem;
  background: radial-gradient(ellipse at 50% 0, rgba(0, 209, 255, .09), transparent 70%), #0e1318;
  color: #f3f6f1;
  box-shadow: 0 1.5rem 7rem rgba(0, 0, 0, .6);
  font-family: var(--body);
  text-align: center;
}
.contact-receipt::backdrop { background: rgba(8, 11, 15, .85); backdrop-filter: blur(8px); }
.contact-receipt[open] { animation: receipt-in .35s ease-out; }
.receipt-close { position: absolute; top: .65rem; right: .65rem; width: 44px; height: 44px; border: 0; background: transparent; color: #a5adb0; font-size: 1.8rem; cursor: pointer; }
.receipt-symbol { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; margin: .5rem auto 1.5rem; border: 1px solid rgba(198, 255, 0, .5); border-radius: 50%; background: rgba(198, 255, 0, .07); color: #c6ff00; }
.receipt-symbol svg { width: 2rem; height: 2rem; }
.contact-receipt .receipt-kicker { margin: 0 0 .7rem; color: #00d1ff; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.contact-receipt .receipt-title { margin: 0 0 1rem; font-family: var(--body); font-size: clamp(1.75rem, 5vw, 2.5rem); font-weight: 750; line-height: 1.15; letter-spacing: -.045em; text-transform: none; }
.contact-receipt p { margin: 0 0 1.25rem; color: #a5adb0; font-size: .95rem; line-height: 1.65; }
.receipt-reference { margin: 1.5rem 0; padding: 1.1rem; border: 1px solid rgba(255, 255, 255, .13); border-radius: .8rem; background: #080b0f; }
.receipt-reference span { display: block; margin-bottom: .65rem; color: #a5adb0; font-size: .75rem; }
.receipt-reference code { display: block; color: #f3f6f1; font-size: .95rem; line-height: 1.8; overflow-wrap: anywhere; user-select: text; }
.receipt-actions { display: flex; gap: .75rem; }
.receipt-actions button { flex: 1; min-height: 48px; padding: .8rem 1rem; border: 1px solid rgba(198, 255, 0, .35); border-radius: .6rem; background: transparent; color: #f3f6f1; font: 650 .9rem var(--body); cursor: pointer; }
.receipt-actions .receipt-primary { background: #c6ff00; color: #080b0f; border-color: #c6ff00; }
.receipt-actions button:hover { border-color: #00d1ff; }
.contact-receipt .receipt-copy-status { min-height: 1.5rem; margin: .85rem 0 0; font-size: .8rem; }
.contact-receipt :focus-visible { outline: 3px solid #00d1ff; outline-offset: 4px; }
@keyframes receipt-in { from { opacity: 0; transform: translateY(.8rem); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 420px) { .receipt-actions { flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .contact-receipt[open] { animation: none; } }
