.bp-paylink-dialog { width: min(92vw, 490px); max-height: 90vh; padding: 0; border: 0; border-radius: 16px; color: #172033; background: #fff; box-shadow: 0 24px 70px #0005; }
.bp-paylink-dialog:not([open]) { display: none; }
.bp-paylink-dialog[open] { pointer-events: auto; }
.bp-paylink-dialog::backdrop { background: #10182799; }
.bp-paylink-panel { padding: 24px; }
.bp-paylink-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.bp-paylink-heading h2 { margin: 0; font-size: 1.25rem; }
.bp-paylink-dialog button, .bp-paylink-dialog [data-paylink-open] { padding: 10px 14px; border: 1px solid #d8dfe8; border-radius: 8px; background: #f7f9fc; color: #172033; cursor: pointer; text-decoration: none; font: inherit; }
.bp-paylink-dialog button:disabled { opacity: .5; cursor: wait; }
.bp-paylink-dialog [aria-disabled="true"] { opacity: .5; pointer-events: none; }
.bp-paylink-heading [data-paylink-close] { padding: 0 10px; border: 0; font-size: 1.7rem; background: transparent; }
.bp-paylink-dialog input[type="text"] { width: 100%; padding: 10px; margin: 8px 0; border: 1px solid #d8dfe8; border-radius: 8px; font: inherit; }
.bp-paylink-check { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; }
.bp-paylink-check input { margin-top: 5px; flex-shrink: 0; }
.bp-paylink-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.bp-paylink-footer { justify-content: flex-end; margin-top: 22px; }
.bp-paylink-dialog .bp-paylink-primary { background: #087f8c; border-color: #087f8c; color: #fff; }
.bp-paylink-warning, .bp-paylink-error, .bp-paylink-note { padding: 12px; border-radius: 8px; margin: 12px 0; font-size: .9rem; }
.bp-paylink-warning { background: #fff6df; color: #7d5200; }
.bp-paylink-error { background: #fce8e8; color: #9b2424; }
.bp-paylink-note { background: #e9f4fa; color: #155471; }
.bp-paylink-dialog [hidden] { display: none !important; }
.bp-paylink-dialog .iti__country-list { z-index: 100; }
.bp-paylink-progress { display: flex; align-items: center; gap: 12px; }
.bp-paylink-progress p { margin: 0; font-weight: 600; }
.bp-paylink-spinner { width: 24px; height: 24px; border: 3px solid #d8e9ec; border-top-color: #087f8c; border-radius: 50%; flex-shrink: 0; animation: bp-paylink-spin 1s linear infinite; }
@keyframes bp-paylink-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bp-paylink-spinner { animation: none; } }
@media (max-width: 480px) { .bp-paylink-panel { padding: 18px; } .bp-paylink-footer button { flex: 1; } }
