.crypto-dialog { width: min(580px, calc(100% - 32px)); max-height: calc(100dvh - 40px); color: var(--text, #202124); }
.crypto-dialog .dialog-header { padding: 26px 28px 22px; align-items: center; }
.crypto-dialog .dialog-header h2 { font-size: 22px; line-height: 1.25; letter-spacing: -.65px; font-weight: 550; }
.crypto-content { padding: 24px 28px; }
.crypto-support { padding: 18px 28px; border-top: 1px solid var(--line, #e9e9eb); }
.crypto-support p { font-size: 12px; line-height: 1.65; color: var(--muted, #777a82); margin: 0 0 9px; }
.crypto-support > div { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.crypto-support a, .crypto-support .text-button { font-size: 12px; text-decoration: none; color: inherit; }
.crypto-support .icon { width: 13px; height: 13px; }
.crypto-dialog .dialog-footer { padding: 18px 28px; }
.crypto-intro { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 24px; font-size: 13px; }
.crypto-intro p { margin: 0; font-weight: 500; }
.crypto-intro > span { color: var(--muted, #777a82); }
.crypto-calculation { border-top: 1px solid var(--line, #e9e9eb); margin: 0 0 14px; padding-top: 18px; }
.crypto-calculation > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 8px; font-size: 13px; }
.crypto-calculation dd { margin: 0; font-size: 17px; font-weight: 500; font-variant-numeric: tabular-nums; }
.crypto-calculation #crypto-discount-row dd { font-size: 13px; }
.crypto-submit { width: 100%; margin-top: 24px; justify-content: center; }
.crypto-state { display: flex; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 26px; }
.crypto-state strong { font-weight: 500; }
.crypto-state-dot { flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: #9b8652; }
.crypto-state[data-state="pending"] .crypto-state-dot, .crypto-state[data-state="confirming"] .crypto-state-dot, .crypto-state[data-state="confirmed"] .crypto-state-dot { animation: crypto-pulse 2s ease-in-out infinite; }
.crypto-state[data-state="paid"] .crypto-state-dot { background: #439169; }
.crypto-countdown { margin-left: auto; font-variant-numeric: tabular-nums; letter-spacing: .25px; font-size: 13px; }
.crypto-payment-main { display: grid; grid-template-columns: 168px minmax(0, 1fr); align-items: center; gap: 28px; margin-bottom: 24px; }
.crypto-qr { display: block; width: 168px; height: 168px; border: 1px solid #ededf0; border-radius: 10px; background: white; }
.crypto-payment-inactive .crypto-qr { opacity: .35; }
.crypto-total { display: flex; flex-direction: column; min-width: 0; }
.crypto-total > span:first-child { font-size: 12px; color: var(--muted, #777a82); }
.crypto-total > strong { font-weight: 550; font-size: clamp(25px, 4.5vw, 38px); letter-spacing: -1.3px; line-height: 1.35; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; margin: 4px 0 2px; }
.crypto-asset { font-size: 14px; font-weight: 500; }
.crypto-asset span { color: var(--muted, #777a82); font-weight: 400; }
.crypto-total small { margin-top: 14px; font-size: 11px; line-height: 1.55; color: var(--muted, #777a82); }
.crypto-network-notice { margin: 0 0 18px; padding: 11px 13px; font-size: 12px; line-height: 1.5; color: #55565d; background: #f7f7f8; border-radius: 6px; }
.crypto-copy-field { margin-bottom: 16px; }
.crypto-copy-field > div { position: relative; display: flex; align-items: center; }
.crypto-copy-field input { padding-right: 46px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; letter-spacing: -.2px; width: 100%; height: 42px; }
.crypto-copy-field .icon-button { position: absolute; right: 5px; width: 32px; height: 32px; color: #7b7d86; }
.crypto-copy-field .icon-button:disabled { opacity: .35; cursor: default; }
.crypto-instruction, .crypto-check-note { font-size: 12px; line-height: 1.65; color: var(--muted, #777a82); margin: 18px 0 0; }
.crypto-check-note { color: #97743a; }
.crypto-transaction { display: inline-block; margin-top: 12px; font-size: 12px; color: inherit; }
.crypto-result-symbol { display: grid; place-items: center; width: 168px; height: 140px; background: #f5f8f5; color: #47805a; border-radius: 10px; font-size: 38px; }
.crypto-confirming-symbol { background: #f6f7f9; }
.crypto-confirming-symbol > span { width: 32px; height: 32px; border: 2px solid #e0e3e9; border-top-color: #7384a1; border-radius: 50%; animation: crypto-confirming 1.2s linear infinite; }
@keyframes crypto-confirming { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .crypto-confirming-symbol > span { animation: none; } }
.crypto-existing-text { margin: 0; font-size: 14px; line-height: 1.65; }
.crypto-existing-total { padding: 24px 0; display: flex; flex-direction: column; gap: 5px; }
.crypto-existing-total strong { font-size: 28px; font-weight: 500; letter-spacing: -.8px; }
.crypto-existing-total strong span, .crypto-existing-total > span { font-size: 13px; font-weight: 400; color: var(--muted, #777a82); letter-spacing: 0; }
.payment-event-button { margin-top: 14px; padding: 7px 11px; font: inherit; font-size: 12px; font-weight: 500; color: inherit; background: #f7f7f8; border: 1px solid #e9e9ec; border-radius: 5px; cursor: pointer; }
.payment-event-button:hover { background: #ededf0; }
.payment-settings-form { max-width: 460px; margin-top: 18px; }
.payment-settings-form > p { font-size: 13px; color: var(--muted, #777a82); line-height: 1.65; margin-bottom: 24px; }
.payment-settings-form .field { margin-bottom: 20px; }
@keyframes crypto-pulse { 50% { opacity: .4; } }
@media (prefers-reduced-motion: reduce) { .crypto-state-dot { animation: none !important; } }
@media (max-width: 480px) {
  .crypto-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .crypto-dialog .dialog-header, .crypto-dialog .dialog-footer, .crypto-support { padding: 18px 20px; }
  .crypto-content { padding: 20px; }
  .crypto-dialog .dialog-header h2 { font-size: 20px; }
  .crypto-payment-main { grid-template-columns: 132px minmax(0, 1fr); gap: 16px; }
  .crypto-qr, .crypto-result-symbol { width: 132px; height: 132px; }
  .crypto-total > strong { font-size: 27px; }
  .crypto-dialog .dialog-footer { flex-wrap: wrap; }
  .crypto-dialog .dialog-footer > * { flex: 1 1 auto; justify-content: center; }
}
@media (max-width: 350px) {
  .crypto-payment-main { grid-template-columns: 1fr; justify-items: center; gap: 16px; }
  .crypto-total { text-align: center; }
  .crypto-total > strong { font-size: 34px; }
}
