/* Crypto Payment Form v5 — Performance-first styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.cpf-page,.cpf-overlay{box-sizing:border-box;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}
.cpf-page *,.cpf-overlay *{box-sizing:border-box;font-family:inherit;margin:0;padding:0}

/* ── Login ── */
.cpf-login-page{max-width:440px;margin:0 auto;padding:52px 28px 36px;min-height:100vh;display:flex;flex-direction:column;align-items:center}
.cpf-login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:44px}
.cpf-logo-name{margin-top:10px;font-size:22px;font-weight:700;color:#111827;letter-spacing:-.3px}
.cpf-login-page form{width:100%;max-width:400px}
.cpf-field{margin-bottom:18px}
.cpf-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.cpf-field input{display:block;width:100%;padding:12px 14px;border:1.5px solid #d1d5db;border-radius:10px;font-size:15px;color:#111827;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.cpf-field input:focus{border-color:#4361EE;box-shadow:0 0 0 3px rgba(67,97,238,.12)}
.cpf-field input::placeholder{color:#9ca3af}
.cpf-err{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:9px 13px;font-size:13px;margin-bottom:12px}
.cpf-btn-blue{display:block;width:100%;padding:14px;background:#4361EE;color:#fff;font-size:16px;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:background .15s}
.cpf-btn-blue:hover{background:#3451d1}
.cpf-btn-blue:disabled{opacity:.55;cursor:not-allowed}
.cpf-login-foot{margin-top:28px;text-align:center;color:#6b7280;font-size:13px;width:100%}
.cpf-login-foot p{margin:6px 0}
.cpf-login-foot a{color:#4361EE;text-decoration:none}
.cpf-tg-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}

/* ── Topbar ── */
.cpf-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:20}
.cpf-bar>span{font-size:15px;font-weight:600;color:#6b7280}
.cpf-bar-link{font-size:13px;font-weight:600;color:#4361EE;text-decoration:none}
.cpf-bar-link:hover{text-decoration:underline}
.cpf-back{font-size:30px;line-height:1;color:#9ca3af;background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:0;transition:color .15s}
.cpf-back:hover{color:#111827}

/* ── Form screen ── */
.cpf-screen{max-width:540px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#fff}
.cpf-form-body{flex:1;padding:22px 18px 10px}
.cpf-sel-wrap{position:relative}
.cpf-sel-wrap select{display:block;width:100%;padding:11px 36px 11px 13px;border:2px solid #4361EE;border-radius:10px;font-size:15px;font-weight:500;color:#111827;background:#fff;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer}
.cpf-sel-arr{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#4361EE;pointer-events:none;font-size:12px}
.cpf-form-body .cpf-field{margin-bottom:14px}
.cpf-form-body .cpf-field label{font-size:12px;font-weight:500;color:#6b7280;margin-bottom:5px}
.cpf-form-body input[type="text"]{display:block;width:100%;padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:14px;color:#111827;background:#f9fafb;outline:none;transition:border-color .15s}
.cpf-form-body input:focus{border-color:#4361EE;background:#fff}
.cpf-amount{font-size:56px;font-weight:700;color:#111827;text-align:center;letter-spacing:-1.5px;padding:18px 0 4px;min-height:76px}

/* ── Numpad ── */
.cpf-numpad{background:#4361EE;border-radius:22px 22px 0 0;padding:20px 16px 26px;margin-top:auto}
.cpf-numgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}
.cpf-key{display:flex;align-items:center;justify-content:center;height:60px;background:transparent;border:none;color:#fff;font-size:26px;font-weight:400;border-radius:9px;cursor:pointer;transition:background .1s;user-select:none;-webkit-user-select:none}
.cpf-key:hover{background:rgba(255,255,255,.13)}
.cpf-key:active{background:rgba(255,255,255,.25)}
.cpf-pad-err{background:rgba(255,80,80,.22);color:#ffe0e0;border-radius:7px;padding:7px 12px;font-size:13px;margin-bottom:10px;text-align:center}
.cpf-btn-next{display:block;width:100%;padding:15px;background:#fff;color:#111827;font-size:17px;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:background .15s}
.cpf-btn-next:hover{background:#f3f4f6}
.cpf-btn-next:disabled{opacity:.55;cursor:not-allowed}

/* ── Overlay — CSS-only open/close (no jQuery) ── */
.cpf-overlay{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.44);align-items:flex-end;justify-content:center}
.cpf-overlay.open{display:flex;animation:cpf-bg .18s ease}
@keyframes cpf-bg{from{opacity:0}to{opacity:1}}

.cpf-popup{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:540px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;animation:cpf-up .26s cubic-bezier(.32,1,.24,1)}
@keyframes cpf-up{from{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── Popup rows ── */
.cpf-popup-rows{padding:12px 18px;border-bottom:1px solid #e5e7eb}
.cpf-popup-row{display:flex;align-items:center;justify-content:space-between;min-height:46px}
.cpf-row-lbl{font-size:14px;font-weight:500;color:#111827}
.cpf-row-val{font-size:15px;font-weight:700;color:#111827;font-family:monospace}

/* ── Coin dropdown ── */
.cpf-dd{position:relative}
.cpf-dd-btn{display:flex;align-items:center;gap:8px;padding:8px 11px;border:2px solid #4361EE;border-radius:9px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#111827;min-width:155px;white-space:nowrap}
.cpf-dd-coin{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}
#cpf-dd-caret{margin-left:auto;color:#4361EE;font-size:11px;transition:transform .15s}
.cpf-dd-list{display:none;position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:50;min-width:190px;max-height:230px;overflow-y:auto}
.cpf-dd-list.open{display:block}
.cpf-dd-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:14px;font-weight:500;color:#111827;transition:background .1s}
.cpf-dd-item:hover,.cpf-dd-item:focus{background:#f3f4f6;outline:none}
.cpf-dd-item.active{background:#eef1ff}
.cpf-dd-iico{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0}

/* ── QR area ── */
.cpf-qr-area{padding:18px 18px 8px;text-align:center}
.cpf-scan-lbl{font-size:16px;font-weight:700;color:#111827;margin-bottom:14px}
.cpf-qr-box{display:inline-flex;align-items:center;justify-content:center;padding:10px;border:3px solid #e5e7eb;border-radius:12px;background:#fff;margin-bottom:12px}
.cpf-qr-box img,.cpf-qr-box svg{display:block;width:200px;height:200px}

.cpf-addr-row{display:flex;align-items:center;gap:7px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:9px 11px;margin-bottom:12px;text-align:left}
.cpf-addr-ic{color:#9ca3af;font-size:18px;flex-shrink:0}
#cpf-addr{flex:1;font-family:'Courier New',monospace;font-size:11.5px;color:#111827;word-break:break-all;background:none}
.cpf-copy-btn{background:#111827;color:#fff;border:none;border-radius:7px;padding:7px 12px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;letter-spacing:.04em;transition:background .15s}
.cpf-copy-btn:hover{background:#374151}
.cpf-copy-btn.ok{background:#16a34a}

.cpf-btn-paid{display:block;width:calc(100% - 36px);margin:2px 18px 20px;padding:14px;background:#16a34a;color:#fff;font-size:15px;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:background .15s}
.cpf-btn-paid:hover{background:#15803d}

/* ── Success popup ── */
.cpf-ok-popup{border-radius:20px;max-width:380px;width:calc(100% - 32px);margin:auto;padding:44px 26px;text-align:center;animation:cpf-up .26s cubic-bezier(.32,1,.24,1)}
.cpf-ok-check{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#15803d);display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;margin:0 auto 18px;box-shadow:0 6px 20px rgba(34,197,94,.28)}
.cpf-ok-popup h3{font-size:22px;font-weight:700;margin-bottom:9px;color:#111827}
.cpf-ok-popup p{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:6px}
.cpf-ref{font-family:monospace;color:#4361EE!important;font-size:13px}

/* ── Gate / History ── */
.cpf-gate{padding:60px 24px;text-align:center;color:#6b7280;font-size:15px}
.cpf-gate a{color:#4361EE}
.cpf-hist-list{padding:14px}
.cpf-hcard{display:flex;justify-content:space-between;align-items:flex-start;padding:13px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:9px}
.cpf-hc-store{font-weight:600;font-size:14px;color:#111827;margin-bottom:2px}
.cpf-hc-note{font-size:12px;color:#6b7280;margin-bottom:2px}
.cpf-hc-date{font-size:11px;color:#9ca3af}
.cpf-hc-usd{font-weight:700;font-size:15px;color:#111827;margin-bottom:2px}
.cpf-hc-coin{font-size:12px;color:#6b7280}
.cpf-hc-st{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;margin-top:4px}
.cpf-empty{padding:44px;text-align:center;color:#9ca3af}

@media(max-width:480px){.cpf-login-page{padding:36px 18px 28px}.cpf-amount{font-size:44px}.cpf-numpad{border-radius:16px 16px 0 0;padding:16px 12px 22px}.cpf-key{height:52px;font-size:22px}}
