:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button{font-family:inherit}.payment-page{box-sizing:border-box;grid-template-columns:minmax(0,380px);justify-content:center;align-items:center;gap:18px;min-height:100svh;padding:24px;display:grid}.upload-panel,.payment-panel{box-sizing:border-box;width:min(100%,380px)}.upload-panel{background:#ffffffeb;border:1px solid #e5e7eb;border-radius:24px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 18px 44px #0f172a12}.eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.upload-panel h2{color:#111827;margin:0;font-size:18px;line-height:1.25}.upload-copy,.upload-message{color:#6b7280;margin:6px 0 0;font-size:13px;line-height:1.5}.upload-token-field{color:#374151;flex-direction:column;gap:6px;font-size:13px;font-weight:650;display:flex}.upload-token-field input{box-sizing:border-box;color:#111827;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:14px;outline:0;padding:0 12px}.upload-token-field input:focus-visible{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.upload-button{color:#fff;cursor:pointer;background:#2563eb;border-radius:16px;justify-content:center;align-items:center;min-height:46px;font-weight:750;transition:transform .15s,background-color .15s;display:inline-flex}.upload-button:hover{background:#1d4ed8}.upload-button:active{transform:scale(.98)}.upload-button input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.batch-card{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.batch-card strong{color:#111827;overflow-wrap:anywhere;font-size:15px}.batch-card small{color:#64748b}.payment-panel{flex-direction:column;gap:22px;display:flex}.payment-panel h1{color:#111827;text-align:center;margin:0;font-size:22px;font-weight:650;line-height:1.2}.amount-display{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:22px;justify-content:center;align-items:baseline;min-height:88px;padding:18px 20px;display:flex;box-shadow:0 20px 50px #0f172a14}.currency{color:#6b7280;margin-right:8px;font-size:24px;font-weight:600}.amount-input{width:100%;min-width:0;color:inherit;font:inherit;letter-spacing:-.05em;text-align:center;background:0 0;border:0;outline:0;padding:0;font-size:clamp(40px,12vw,56px);font-weight:700;line-height:1}.amount-input:focus-visible{outline-offset:6px;outline:3px solid #2563eb59}.keypad{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.keypad-button,.pay-button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}.keypad-button{color:#111827;background:#fff;border-radius:18px;min-height:64px;font-size:24px;font-weight:650;transition:transform .15s,background-color .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #e5e7eb}.keypad-button:hover:not(:disabled){background:#f9fafb;box-shadow:inset 0 0 0 1px #d1d5db}.keypad-button:active:not(:disabled){transform:scale(.97)}.pay-button{color:#fff;background:#111827;border-radius:18px;min-height:56px;font-size:17px;font-weight:700;transition:transform .15s,background-color .15s,opacity .15s}.pay-button:hover:not(:disabled){background:#1f2937}.pay-button:active:not(:disabled){transform:scale(.98)}.keypad-button:focus-visible,.pay-button:focus-visible,.upload-button:focus-within{outline-offset:3px;outline:3px solid #2563eb59}.keypad-button:disabled,.pay-button:disabled{cursor:not-allowed;opacity:.45}.status-area{flex-direction:column;align-items:center;gap:14px;min-height:22px;margin:-6px 0 0;display:flex}.status-message{color:#047857;text-align:center;margin:0;font-size:14px;line-height:1.5}.qrcode-image{border:12px solid #fff;border-radius:18px;width:220px;height:220px;box-shadow:0 16px 40px #0f172a1f}.qr-modal-backdrop{z-index:20;box-sizing:border-box;background:#11182780;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qr-modal{box-sizing:border-box;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:12px;width:min(100%,330px);padding:28px 24px 26px;display:flex;position:relative;box-shadow:0 28px 80px #0f172a3d}.qr-modal h2{color:#111827;margin:0;font-size:18px;font-weight:700;line-height:1.3}.qr-modal-tip{color:#6b7280;text-align:center;margin:0 0 4px;font-size:13px;line-height:1.5}.qr-modal-close{color:#374151;cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;position:absolute;top:10px;right:10px}.qr-modal-close:hover{background:#e5e7eb}.qr-modal-close:focus-visible{outline-offset:2px;outline:3px solid #2563eb59}@media (width>=920px){.payment-page{grid-template-columns:360px 380px;padding:48px}}
