:root{--primary: #EECAF6;--primary-dark: #d8a0e8;--primary-deeper: #c178db;--primary-light: #f8eafd;--accent: #8B2FC9;--accent-deep: #6a1fa0;--dark: #1a0a2e;--dark2: #2d1050;--text: #4a3860;--text-light: #7a6090;--white: #ffffff;--gray-bg: #fdf5ff;--border: #e8d0f5;--success: #28a745;--shadow: 0 8px 32px rgba(139,47,201,.13);--shadow-lg: 0 20px 60px rgba(139,47,201,.18)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--gray-bg);color:var(--text);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{font-family:inherit;outline:none}.popup-overlay{position:fixed;inset:0;background:#1a0a2e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.popup-card{background:var(--white);border-radius:24px;padding:40px 32px;width:90%;max-width:360px;text-align:center;box-shadow:var(--shadow-lg);animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.popup-card .popup-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px}.popup-card .popup-icon.success{background:#e8f8ec}.popup-card .popup-icon.error{background:#fdecea}.popup-card h3{font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:8px}.popup-card p{color:var(--text-light);font-size:.9rem;margin-bottom:4px}.popup-card .qr-code-display{background:var(--gray-bg);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin:16px 0;font-family:monospace;font-size:.85rem;color:var(--accent);word-break:break-all}.popup-card .popup-btn{margin-top:20px;padding:14px 32px;border-radius:50px;font-size:.95rem;font-weight:600;width:100%;transition:all .2s}.popup-card .popup-btn.btn-success{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--white)}.popup-card .popup-btn.btn-success:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.popup-card .popup-btn.btn-error{background:#fdecea;color:#c0392b}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
