@keyframes fadein-slideup{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-fadein-slideup{animation:fadein-slideup .7s cubic-bezier(.4,0,.2,1) both}@keyframes fadein-delay{0%{opacity:0}to{opacity:1}}.animate-fadein-delay{animation:fadein-delay .8s .3s both}.animate-fadein-delay2{animation:fadein-delay 1s .5s both}@keyframes section-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.section-animate{animation:section-pop .5s cubic-bezier(.4,0,.2,1) both}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-ring);transition:box-shadow .2s,border-color .2s}.btn-next-step,.btn-prev-step{transition:transform .2s,box-shadow .2s}.btn-next-step:hover,.btn-prev-step:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 4px 12px #2c2c2c1a;background:var(--color-primary);color:var(--color-primary-foreground)}.progress-step-icon{transition:transform .3s}.progress-step-icon-complete{transform:scale(1.2) rotate(-8deg);color:var(--color-primary)}.bg-card{background:var(--color-card);color:var(--color-card-foreground)}.bg-muted{background:var(--color-muted);color:var(--color-muted-foreground)}.bg-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.border-border{border-color:var(--color-border)}section{background:var(--color-card);color:var(--color-card-foreground);border-radius:var(--radius);box-shadow:0 2px 12px #2c2c2c0f;border:1px solid var(--color-border);transition:box-shadow .3s,transform .3s}section:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px #2c2c2c1a;border-color:var(--color-primary)}section:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-ring)}.required-field:after{content:" *";color:var(--destructive)}.progress-bar-soft{background:linear-gradient(90deg,var(--color-muted) 60%,var(--color-card) 100%);border:none;box-shadow:0 1px 8px #00000008;transition:background .3s}.dark .progress-bar-soft{background:linear-gradient(90deg,var(--color-muted) 60%,var(--color-card) 100%);border:none;box-shadow:0 1px 8px #0000001a}.progress-step{font-size:1rem;font-weight:600;transition:background .2s,color .2s,border .2s}.validation-errors{animation:fadein-delay .5s;border:1px solid var(--destructive);background:var(--color-destructive);color:var(--color-destructive-foreground)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-bounce{animation:bounce .8s infinite}
