@keyframes shimmer{0%{transform:translate(-100%)skew(-12deg)}to{transform:translate(200%)skew(-12deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #3b82f666,0 0 #0ea5e966}50%{box-shadow:0 0 0 10px #3b82f600,0 0 0 20px #0ea5e900}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(180deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}button:not(:disabled){cursor:pointer!important}button:disabled{opacity:.5;cursor:not-allowed!important}.floating-element{pointer-events:none!important}.form-content{z-index:10;position:relative;pointer-events:auto!important}.form-container{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 50%,#e2e8f0 100%);min-height:100vh;position:relative;overflow-x:hidden}.form-container:before{content:"";clip-path:polygon(0 0,100% 0,100% 70%,0 100%);z-index:0;background:linear-gradient(135deg,#3b82f60d 0%,#38bdf80d 100%);height:400px;position:absolute;top:0;left:0;right:0}.form-container:after{content:"";clip-path:polygon(0 30%,100% 0,100% 100%,0 100%);z-index:0;background:linear-gradient(135deg,#22d3ee08 0%,#06b6d408 100%);height:300px;position:absolute;bottom:0;left:0;right:0}.form-content{z-index:1;background:#fff;border:1px solid #fff6;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000014,0 8px 32px #3b82f60d,inset 0 1px #fffc}.form-content:before{content:"";background:linear-gradient(90deg,#3b82f6 0%,#60a5fa 25%,#93c5fd 50%,#60a5fa 75%,#3b82f6 100%);border-radius:24px 24px 0 0;height:6px;position:absolute;top:0;left:0;right:0}.form-content:after{content:"";opacity:.1;z-index:0;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;width:100px;height:100px;position:absolute;top:-20px;right:-20px}.floating-element{opacity:.05;z-index:0;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;animation:20s ease-in-out infinite float;position:absolute;pointer-events:none!important}.floating-element:first-child{width:150px;height:150px;animation-delay:0s;top:10%;left:5%}.floating-element:nth-child(2){width:100px;height:100px;animation-delay:-5s;top:60%;right:10%}.floating-element:nth-child(3){width:80px;height:80px;animation-delay:-10s;bottom:20%;left:15%}.button-glow{animation:2s infinite pulse-glow}.animate-shimmer{animation:2s infinite shimmer}.animate-pulse-glow{animation:2s infinite pulse-glow}.animate-bounce-subtle{animation:2s ease-in-out infinite bounce-subtle}.animate-slide-in{animation:.3s ease-out slide-in}.animate-shake{animation:.5s ease-in-out shake}.animate-fade-in{animation:.5s ease-out fadeIn}.step-number{z-index:10;text-shadow:0 1px 2px #0000001a;font-weight:800;position:relative}.step-number-active{text-shadow:0 1px 3px #0000004d;color:#fff!important}.step-number-upcoming{text-shadow:0 1px 1px #fffc;color:#4b5563!important}.step-circle-depth{box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000001a}.bg-step-active{background:linear-gradient(135deg,#3b82f6 0%,#0ea5e9 100%)}.bg-step-completed{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.bg-step-upcoming{background:linear-gradient(135deg,#fff 0%,#f9fafb 100%)}.success-screen{background:linear-gradient(135deg,#10b9811a 0%,#0596690d 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.success-screen:before{content:"";clip-path:polygon(0 0,100% 0,100% 70%,0 100%);z-index:0;background:linear-gradient(135deg,#10b9811a 0%,#0596690d 100%);height:400px;position:absolute;top:0;left:0;right:0}.success-card{z-index:1;text-align:center;background:#fff;border:1px solid #10b9811a;border-radius:32px;padding:48px 40px;animation:.8s ease-out fadeIn;position:relative;box-shadow:0 32px 64px #00000014,0 16px 32px #10b9811a}.success-card:before{content:"";background:linear-gradient(90deg,#10b981 0%,#34d399 25%,#10b981 50%,#34d399 75%,#10b981 100%);border-radius:32px 32px 0 0;height:6px;position:absolute;top:0;left:0;right:0}.success-icon{background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 32px;animation:.6s ease-out scaleIn;display:flex}.success-title{color:#0000;background:linear-gradient(135deg,#10b981,#047857);-webkit-background-clip:text;background-clip:text;margin-bottom:32px;font-size:32px;font-weight:800}.protocol-card{text-align:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:20px;margin:32px 0;padding:24px}.protocol-label{color:#059669;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:14px;font-weight:600}.protocol-number{color:#065f46;letter-spacing:1px;font-size:28px;font-weight:800}input:focus,select:focus,textarea:focus{outline:none;transition:transform .2s;transform:translateY(-2px)}label{color:#374151;margin-bottom:8px;font-weight:500;transition:color .2s;display:block}:is(label:has(+input:focus),label:has(+select:focus)){color:#3b82f6}.border-error{background-color:#fef2f2!important;border-color:#ef4444!important}.text-error{color:#dc2626!important}.next-button{transition:all .3s;position:relative;overflow:hidden}.next-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #3b82f64d}.next-button:active{transform:translateY(0)}html{scroll-behavior:smooth}@media (max-width:768px){.form-content{border-radius:20px;margin:16px}.form-content:after{display:none}.success-card{border-radius:24px;margin:20px;padding:32px 24px}.success-title{font-size:24px}.protocol-number{font-size:20px}.floating-element{display:none}}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.form-container>:not(.floating-element){z-index:1;position:relative}.form-container :not(.floating-element){pointer-events:auto!important}
