*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(-45deg,#0f2027,#203a43,#2c5364,#1a3a52);background-size:400% 400%;animation:gradientShift 15s ease infinite;min-height:100vh;color:#1f2937;overflow-x:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.particle{position:absolute;width:4px;height:4px;background:#ffffff4d;border-radius:50%;animation:float 20s infinite}@keyframes float{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(50px);opacity:0}}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1}.card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:460px;border-radius:24px;padding:48px 36px;box-shadow:0 25px 50px #00000040,0 0 0 1px #ffffff1a inset;text-align:center;position:relative;animation:slideUp .6s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(37,99,235,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-container{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #10b9814d;animation:bounce 2s ease-in-out infinite;position:relative;z-index:1}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.icon-container svg{width:40px;height:40px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.title{font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#059669,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.message{font-size:16px;color:#374151;margin-bottom:32px;line-height:1.6;position:relative;z-index:1}.expiry-info{font-size:13px;color:#6b7280;margin-top:16px;padding:10px 16px;background:#6b728014;border-radius:8px;border:1px solid rgba(107,114,128,.15);position:relative;z-index:1}.success-note{font-size:14px;color:#059669;margin-top:16px;line-height:1.5;position:relative;z-index:1}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.btn{padding:14px 28px;font-size:15px;font-weight:600;border-radius:12px;cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:160px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 8px 20px #10b9814d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px #10b98166}.btn-primary:active{transform:translateY(0)}.loading{pointer-events:none;opacity:.7}.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message.success{color:#16a34a;font-weight:600;animation:successPulse .5s ease}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.message.error{color:#dc2626;font-weight:600;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media(max-width:480px){.card{padding:36px 28px}.title{font-size:24px}.btn{min-width:140px;padding:12px 20px}}
