.ff{position:relative;display:flex;flex-direction:column}.ff-input{width:100%;box-sizing:border-box;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-5) var(--space-4);font-family:var(--font-body);font-size:var(--text-md);line-height:1.2;color:var(--text-primary);transition:border-color var(--duration-normal) var(--ease-out)}.ff-input:focus{outline:none;border-color:var(--border-focus)}.ff-input::placeholder{color:transparent;transition:color var(--duration-normal) var(--ease-out)}.ff-input:focus::placeholder{color:var(--text-light)}.ff-textarea{resize:vertical;min-height:84px}.ff-label{position:absolute;top:50%;left:var(--space-5);transform:translateY(-50%);font-family:var(--font-body);font-size:var(--text-md);line-height:1;color:var(--text-muted);background:var(--bg-base);padding:0 var(--space-1);margin-left:calc(var(--space-1) * -1);pointer-events:none;transition:top var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),font-size var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.ff-textarea~.ff-label{top:var(--space-5);transform:none}.ff-input:focus~.ff-label,.ff-input:not(:placeholder-shown)~.ff-label{top:0;transform:translateY(-50%);font-size:var(--text-sm);color:var(--text-secondary)}.form-group.error .ff-input{border-color:var(--status-error)}.form-group.error .ff-label{color:var(--status-error)}.form-group.error .ff-input:focus{border-color:var(--status-error)}@media (prefers-reduced-motion:reduce){.ff-input,.ff-input::placeholder,.ff-label{transition-duration:.01ms}}