.payment-notice { width: min(500px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; box-sizing: border-box; padding: 32px; border: 1px solid #d7dfe8; border-radius: 8px; background: #fff; color: #293340; }
.payment-notice::backdrop { background: rgb(18 27 40 / 55%); }
.payment-notice__eyebrow { margin: 0 0 10px; color: #1f4f9a; font-size: 12px; font-weight: 600; }
.payment-notice h2 { margin: 0; font-size: 25px; font-weight: 650; letter-spacing: -.04em; }
.payment-notice__description { margin: 12px 0 24px; color: #6d7580; font-size: 14px; line-height: 1.8; }
.payment-notice__account { padding: 20px; border: 1px solid #d8e2f0; border-left: 3px solid #1f4f9a; background: #f5f8fc; }
.payment-notice__account p { margin: 0 0 8px; font-size: 13px; color: #53667e; }
.payment-notice__account strong { display: block; font-size: clamp(19px, 5vw, 25px); font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; user-select: all; }
.payment-notice__account span { display: block; margin-top: 10px; color: #667383; font-size: 13px; }
.payment-notice__warning { margin-top: 20px; padding: 16px 18px; border: 1px solid #e9d8ba; border-radius: 4px; background: #fff9ee; color: #81591f; }
.payment-notice__warning strong { font-size: 12px; }
.payment-notice__warning p { margin: 6px 0 0; font-size: 14px; line-height: 1.7; font-weight: 600; }
.payment-notice__help { margin: 16px 0 0; color: #7a828c; font-size: 12px; line-height: 1.8; }
.payment-notice__unavailable { padding: 18px; color: #a43737; background: #fff4f4; font-size: 14px; line-height: 1.8; }
.payment-notice__actions { display: flex; gap: 10px; margin-top: 26px; }
.payment-notice__actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid #d2d9e2; border-radius: 4px; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.payment-notice__cancel { flex: 1; background: #fff; color: #5c6773; }
.payment-notice__actions .payment-notice__confirm { flex: 2; border-color: #1f4f9a; background: #1f4f9a; color: #fff; }
.payment-notice__confirm:disabled { opacity: .45; cursor: not-allowed; }
.payment-notice__actions button:active:not(:disabled) { transform: translateY(1px); }
@media (max-width: 480px) { .payment-notice { padding: 24px 20px; } }
