:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}body{margin:0;background:#f7f8fa;color:#111827}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{min-height:100vh;display:flex;flex-direction:column}.test-banner{position:sticky;top:0;z-index:10;width:100%;background:#dc2626;color:#fff}.test-banner p{margin:0;padding:12px 16px;text-align:center;font-size:.85rem;line-height:1.5}.test-banner a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}.page-body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px}.panel{background:#fff;border-radius:16px;padding:36px 32px;max-width:480px;width:calc(100% - 32px);box-shadow:0 1px 2px #1118270a,0 12px 28px #11182714;text-align:center}.merchant-logo{display:block;max-height:56px;max-width:100%;width:auto;object-fit:contain;margin:0 auto}.merchant-name{font-weight:600;color:#111827;margin:0 0 4px}.panel h1{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:20px 0 8px}.panel p{color:#4b5563;line-height:1.5;margin:0 0 4px}.amount{font-size:2.1rem;font-weight:700;letter-spacing:-.02em;color:#111827;margin:8px 0 24px}.method-card{border:1px solid #e5e7eb;border-radius:12px;text-align:left;overflow:hidden}.method-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:.9rem;font-weight:600;color:#111827}.method-card-header svg{color:#2563eb;flex-shrink:0}.method-card-body{padding:20px;text-align:center}.method-card-body p{margin:0 0 4px}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;margin:16px auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:20px auto 0;animation:status-pop .4s cubic-bezier(.16,1,.3,1) both}.status-icon-success{background:#dcfce7;color:#16a34a}.status-icon-failed{background:#fee2e2;color:#dc2626}.status-icon-stroke{stroke-dasharray:40;stroke-dashoffset:40;animation:status-draw .45s .2s ease-out forwards}.status-amount{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:#111827;margin:4px 0 14px}p.status-order{font-size:.85rem;color:#6b7280;margin:0;word-break:break-word}.status-order-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:#111827}p.status-redirect{font-size:.8rem;color:#6b7280;margin:20px 0 0}.status-details{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:left}.status-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem}.status-detail-label{color:#6b7280}.status-detail-value{display:flex;align-items:center;gap:6px;font-weight:600;color:#111827}.status-detail-value svg{color:#2563eb;flex-shrink:0}@keyframes status-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes status-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.status-icon{animation:none}.status-icon-stroke{animation:none;stroke-dashoffset:0}}.code-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;letter-spacing:.02em;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:14px;margin:12px 0;word-break:break-all;text-align:center}.copy-button,.action-button{display:inline-block;background:#2563eb;color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;margin-top:8px;transition:background-color .15s ease}.copy-button:hover,.action-button:hover{background:#1d4ed8}.copy-button:disabled{background:#93c5fd;cursor:default}.qr-image{width:220px;height:220px;margin:0 auto;display:block;border:1px solid #e5e7eb;border-radius:10px}.countdown{color:#9ca3af;font-size:.85rem;font-variant-numeric:tabular-nums;margin-top:20px}.fraud-notice{display:flex;align-items:flex-start;gap:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;margin-bottom:16px;text-align:left}.fraud-notice svg{color:#b45309;flex-shrink:0;margin-top:2px}.fraud-notice p{margin:0;font-size:.8rem;color:#92400e;line-height:1.5}.qr-label{font-size:.85rem;font-weight:600;color:#374151;margin:0 0 12px}.qr-download{display:inline-flex;align-items:center;gap:6px;margin:12px auto 0;font-size:.85rem;font-weight:600;color:#2563eb;text-decoration:none}.qr-download:hover{text-decoration:underline}.reference-box{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:left}.reference-label{display:block;font-size:.75rem;color:#6b7280;margin-bottom:4px}.reference-value{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600;color:#111827;word-break:break-all}.icon-copy-button{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;cursor:pointer}.icon-copy-button:hover{background:#e5e7eb}.copy-confirm{display:block;font-size:.75rem;color:#16a34a;margin-top:4px}.how-to-pay{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:left}.how-to-pay-title{font-size:.85rem;font-weight:600;color:#374151;margin:0 0 8px}.how-to-pay ol{margin:0;padding-left:18px;color:#4b5563;font-size:.8rem;line-height:1.6}.confirm-section{margin-top:16px}.confirm-hint{font-size:.8rem;color:#6b7280;margin:0 0 8px}.confirm-button{width:100%;background:#2563eb;color:#fff;border:none;border-radius:10px;padding:12px 18px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.confirm-button:hover:not(:disabled){background:#1d4ed8}.confirm-button:disabled{background:#93c5fd;cursor:default}p.confirm-checking{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;color:#6b7280;margin:0}.spinner-sm{width:14px;height:14px;border-width:2px;margin:0}
