/* [Codex] Native dialog keeps checkout focus isolated; layout fits narrow screens. */
.web-qr-dialog{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #514762;border-radius:22px;background:#171322;color:#f4f1fa;font:14px/1.55 Inter,system-ui,sans-serif;box-shadow:0 24px 90px #0008;overflow:auto;box-sizing:border-box}
.web-qr-dialog::backdrop{background:#080610bc;backdrop-filter:blur(5px)}
.web-qr-header{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 16px;background:linear-gradient(135deg,#39245144,transparent);border-bottom:1px solid #ffffff12}
.web-qr-eyebrow{color:#c7a8fb;font-size:10px;font-weight:800;letter-spacing:.15em}
.web-qr-header h2{font-size:24px;line-height:1.25;margin:8px 0 0;letter-spacing:-.03em}
.web-qr-close{margin-left:auto;flex-shrink:0;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff0d;color:#c8bbd7;font-size:25px;cursor:pointer}
.web-qr-body{padding:18px 24px 24px}.web-qr-benefits{margin:0 0 20px;color:#bcb2cc;font-size:12px}.web-qr-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.web-qr-plan{padding:15px 8px;background:#221b2e;border:1px solid #42334e;border-radius:14px;color:inherit;text-align:left;cursor:pointer;min-height:104px}
.web-qr-plan[aria-pressed=true]{border-color:#c3a0fa;background:#69449544;box-shadow:0 0 0 1px #c3a0fa}.web-qr-period{display:block;color:#c5b8d6;font-size:12px}.web-qr-price{display:block;font-size:19px;margin-top:8px;letter-spacing:-.04em}.web-qr-plan small{display:block;color:#c5a6ed;font-size:10px;margin-top:4px}
.web-qr-note{font-size:11px;color:#a89cb9;margin:14px 0}.web-qr-message{padding:12px 14px;background:#ffffff08;border-radius:12px;font-size:12px;color:#d5c9e3;overflow-wrap:anywhere}.web-qr-message--paid{background:#36795629;color:#ade4c7}.web-qr-message--expired,.web-qr-message--review,.web-qr-message--revoked{color:#f1c791;background:#88531d26}
.web-qr-primary,.web-qr-secondary{font:inherit;cursor:pointer;border-radius:12px;min-height:44px;padding:11px 14px}.web-qr-primary{display:block;width:100%;border:1px solid #a77be0;background:#996bd4;color:#fff;font-weight:700;margin-top:16px}.web-qr-secondary{background:#ffffff08;color:inherit;border:1px solid #ffffff22}
.web-qr-dialog button:disabled{opacity:.55;cursor:default}.web-qr-dialog button:focus-visible,.web-qr-dialog a:focus-visible{outline:3px solid #ddc4ff;outline-offset:3px}.web-qr-support{display:block;text-align:center;margin-top:18px;font-size:11px;color:#c2a5e8;text-decoration:none}
.web-qr-total{font-size:22px;font-weight:800;text-align:center;letter-spacing:-.03em;margin:16px 0}.web-qr-image{display:block;width:240px;max-width:100%;height:auto;margin:12px auto 20px;background:white;border-radius:12px}.web-qr-detail{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:10px 0;border-bottom:1px solid #ffffff0c}.web-qr-detail>span{font-size:11px;color:#a99ab9;flex-basis:100%}.web-qr-detail strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.web-qr-copy{margin-left:auto;border:0;border-radius:8px;padding:6px 10px;background:#ffffff0c;color:#c9b2e8;font-size:10px;cursor:pointer}.web-qr-order-code{font-size:10px;color:#9383a5;overflow-wrap:anywhere;text-align:center;margin:18px 0 0}
@media(max-width:390px){.web-qr-header{padding:20px 16px 14px}.web-qr-header h2{font-size:21px}.web-qr-body{padding:16px}.web-qr-price{font-size:17px}.web-qr-plans{gap:6px}.web-qr-plan{padding:12px 7px}}
@media(prefers-reduced-motion:reduce){.web-qr-dialog::backdrop{backdrop-filter:none}}
