The culprit is
Kenya Settsu. He killed Waka 30 minutes before Ran came into her room, put a towel around her head and a face mask on her, then spread chloroform in the bathroom. A few days before, he had ensured Rumi had left her fingerprints on a bottle, which appeared to be the bottle containing the chloroform which was found by the police. All this led
Masumi Sera to point Rumi as the culprit (as Kenya had foreseen that): the towel and the face mask would lead Ran to doubt if she really saw Waka, or if it was not rather Rumi who had disguised herself in Waka - then, after Ran had collapsed, she would have really killed Waka and put them in the bathroom as if she had been there from the beginning. But Conan declares that this trick was way too inconsistent; he also notices that Kenya has been shown to have a bad sight (being unable to put objects at the right place, etc.), and that it may be due to the disappearing of one of his eyes contacts. This eye contact had actually been lost when he was fighting with Waka, and before passing out, she had collected it and put it on her own eye, before closing it, which explains why she was winking. By opening her closed eye, it could be therefore proved that Kenya was the murderer: his fingerprints would still be on the eye contact.
As for the motive, Kenya had dumped Waka because he was starting to date a rich girl, and Waka threatened Kenya to reveal all his former deeds to this girl. Additionally, Kenya intended to pin the murder on Rumi for the same reason as he never really liked her and only dated her for such purpose. Inspector Jugo, having enough of Kenya's callous attitude, proceeds to punch his face and orders his men to take him into the custody while Mitsuaki conforts the tearful Rumi.
After the case resolution,
Eri Kisaki declares that, earlier, she has seen Masumi calling someone with her phone, a person who, according to the wording she used, would be her brother.