@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#8a5a9e;--primary-dark:#6c427e;--bg-dark:#09090b;--bg-card:#141416b3;--border:#ffffff14;--text-primary:#fff;--text-secondary:#a1a1aa}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(circle at 15%,#8a5a9e26,#0000 25%),radial-gradient(circle at 85% 30%,#38bdf81a,#0000 25%);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex;overflow:hidden}#root{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.portal-container{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:24px;width:100%;max-width:480px;padding:2rem;animation:.6s ease-out forwards fadeUp;box-shadow:0 25px 50px -12px #00000080}.header{text-align:center;margin-bottom:2rem}.logo-icon{background:linear-gradient(135deg, var(--primary), #a272b5);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 1rem;display:flex;box-shadow:0 8px 16px #8a5a9e4d}.title{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.amount-display{text-align:center;letter-spacing:-.04em;background:linear-gradient(90deg,#fff,#d4d4d8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:2rem 0;font-size:3.5rem;font-weight:700}.numpad{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.num-btn{color:#fff;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;justify-content:center;align-items:center;height:64px;font-size:1.5rem;font-weight:500;transition:all .2s;display:flex}.num-btn:hover{background:#ffffff14;transform:translateY(-2px)}.num-btn:active{transform:translateY(0)}.num-btn.delete{color:var(--text-secondary)}.action-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;height:56px;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #8a5a9e66}.action-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.receipt-card{border:1px dashed var(--border);text-align:center;background:linear-gradient(135deg,#ffffff0d,#ffffff03);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.receipt-amount{color:#10b981;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.voucher-code{letter-spacing:.1em;color:#fff;-webkit-user-select:all;user-select:all;background:#00000080;border-radius:12px;margin-bottom:2rem;padding:1rem;font-family:monospace;font-size:1.75rem;font-weight:600}.copy-hint{color:var(--text-secondary);margin-bottom:2rem;font-size:.875rem}.back-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;width:100%;height:48px;font-weight:500;transition:all .2s}.back-btn:hover{color:#fff;background:#ffffff0d}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
