David Lopez converted a dubious first-half penalty as Brighton beat Millwall 1-0 to keep their Sky Bet Championship play-off hopes firmly alive.