.form-field{position:relative;transition:all .3s ease}.form-field.field-error input,.form-field.field-error select{border-color:var(--destructive);background-color:#d32f2f0d}.form-field.field-error input:focus,.form-field.field-error select:focus{outline:2px solid var(--destructive);outline-offset:2px}.form-field.field-valid input,.form-field.field-valid select{border-color:var(--accent);background-color:#4caf500d}.form-field.field-valid input:focus,.form-field.field-valid select:focus{outline:2px solid var(--accent);outline-offset:2px}.field-error-message{animation:slideDown .3s ease}.field-success-indicator{animation:scaleIn .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-slide-down{animation:slideDown .4s ease}.success-toast,.error-toast{transition:all .3s ease}.loading-overlay{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}input:focus,select:focus,textarea:focus{transition:all .2s ease}.form-submit-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.form-submit-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 20px #a779394d}.form-submit-btn:not(:disabled):active{transform:translateY(0)}.shake-animation{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.field-hint{font-size:.75rem;color:var(--muted-foreground);margin-top:.25rem;display:flex;align-items-center;gap:.5rem}.required-indicator{color:var(--destructive);font-weight:700}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1}
