.form-input{transition:.2s}.form-input:focus{outline:0;border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-input.valid{border-color:#16a34a!important;background-color:#f0fdf4}.form-input.invalid{border-color:#dc2626!important;background-color:#fef2f2}.field-status.valid{opacity:1;color:#16a34a}.field-status.valid::before{content:'✓';font-weight:700}.field-status.invalid{opacity:1;color:#dc2626}.field-status.invalid::before{content:'✗';font-weight:700}.field-status.loading{opacity:1;color:var(--primary);animation:1s linear infinite spin}.field-status.loading::before{content:'⟳'}.field-message.success{color:#16a34a;font-weight:500}.field-message.error{color:#dc2626;font-weight:500}.field-message.info{color:#2563eb}.form-progress .progress-bar{transition:width .5s cubic-bezier(.4, 0, .2, 1)}.btn-loading{pointer-events:none;opacity:.7}.btn-loading #btnText{opacity:0}.btn-loading #btnLoading{display:inline-block!important}.form-field{animation:.3s ease-out slideInUp}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}#formSuccess{animation:.3s ease-out slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:100px}}@media (max-width:768px){.form-input{padding:.875rem 2.5rem .875rem .875rem;font-size:1rem}.field-status{right:.875rem}}.form-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-contrast:high){.form-input.invalid,.form-input.valid{border-width:3px}}@media (prefers-reduced-motion:reduce){.field-status,.form-input,.form-progress .progress-bar{transition:none}.field-status.loading,.form-field{animation:none}.field-status.loading::before{content:'...'}}