Match ends, HNK Rijeka 2, Milan 0.
AC Milan boss Gennaro Gattuso says the club's "shirt deserves respect" after a "burning defeat" by Rijeka.
Gattuso made changes, for only his second game in charge, with their Europa League last-32 slot already guaranteed - but he was not impressed.
"I was expecting more, this was a pretty poor show," he said.
"We need to turn things around and a change in mentality. We need more intensity and desire and all these things weren't there."
Gattuso replaced Vincenzo Montella last week with the club seventh in Serie A despite spending £205m in the summer.
They dropped to eighth after drawing 2-2 with Benevento on Sunday, with goalkeeper Alberto Brignoli scoring an injury-time equaliser for a side who had lost their opening 14 games.
"We needed a win as a morale booster. Sunday's match against Bologna is now even more important and we can't make any mistakes," said Gattuso.
Croatian side Rijeka, who were already out, won 2-0 thanks to goals from Jakov Puljic and Mario Gavranovic.
"I take full responsibility for the choices I made," said Gattuso. "I would make them again as we have to play important games every three days. We tried to give some playing time to those who needed it.
"This is how things have been going lately, unfortunately, we concede at the first opportunity. The boys gave it all, trying to play differently, but it wasn't enough."
Gattuso,who has previously managed Sion, Palermo, OFI Crete, Pisa and Milan's youth team, was especially unhappy with £33m summer signing Andre Silva, who has yet to score in Serie A.
"He struggled. He looked like a foreign object in the team," said the manager. "When you have the opportunity to play for 90 minutes wearing AC Milan's shirt you have to do more."
Klinsmann Jr saves penalty, Ivanovic stunner seals group for Zenit
Ostersunds lost top place in Group J after drawing 1-1 with Hertha Berlin, but still finish second. Hertha handed a debut to Jonathan Klinsmann, son of former Germany striker Jurgen. The United States Under-20 goalkeeper saved a late penalty from Brwa Nouri.
Athletic Bilbao scored twice in the last 20 minutes to beat Zorya Luhansk 2-0 and overtake Graham Potter's side.
Red Star Belgrade joined Arsenal, who beat Bate Borisov 6-0, in the knockout stages by beating Cologne 1-0 to qualify from Group H.
In Group L, Zenit St Petersburg sealed top spot thanks to a 3-1 win at Real Sociedad, who finish second. Former Chelsea defender Branislav Ivanovic scored a bicycle kick for the Russians. Vardar and Rosenborg drew their dead rubber 1-1.
Viktoria Plzen overtook Steaua to win Group G. Plzen won 2-0 at Hapoel Be'er Sheva, while the Romanian side, who had already qualified, lost 2-1 to Lugano.
Marseille qualified for the last 32 after drawing 0-0 with Red Bull Salzburg, who topped Group I. Konyaspor and Vitoria Guimaraes both needed to win to have any chance of going through - but they drew 1-1.
Zulte Waregem beat Lazio 3-2 and Vitesse won 1-0 against Nice - their first European victory since 2012. However both victors were already eliminated from Group K.
Astana's 1-0 win over Slavia Prague means they qualify in second place in Group A behind Villarreal, who lost 1-0 to Maccabi Tel-Aviv. Nick Blackman, on loan from Derby, scored the goal for Maccabi.
In Group B, Junior Moraes scored a hat-trick as Dynamo Kiev sealed top spot in style, with a 4-1 win over Partizan Belgrade, who join them as runners-up despite the defeat.
Braga sealed top spot in Group C, despite a 2-1 defeat by Istanbul Basaksehir. Ludogorets' 1-1 draw with Hoffenheim means they go through in second.
AEK Athens join AC Milan in the next round after drawing 0-0 at Austria Vienna.
Sheriff Tiraspol started the day top of Group F but missed out on qualification after losing 2-0 at FC Copenhagen. The Danish side go through, along with group winners Lokomotiv Moscow, who beat Zlin 2-0.
Atalanta won Group E, courtesy of a 1-0 win over Lyon, who gave 45 minutes to forward Willem Geubbels. Everton, already out, beat Apollon Limassol 3-0.
- 26MalesBooked at 43mins
- 14AcostySubstituted forPuncecat 76'minutes
- 7KvrzicSubstituted forMavriasat 86'minutes
- 17GavranovicSubstituted forCrnicat 81'minutes
- 45ZanellatoSubstituted forAbateat 74'minutes
- 73LocatelliBooked at 78mins
- 31AntonelliBooked at 66minsSubstituted forForteat 80'minutes
- 9André SilvaBooked at 32mins
- 90A Donnarumma
- Istvan Vad
- Shots on Target
Second Half ends, HNK Rijeka 2, Milan 0.
Foul by Manuel Locatelli (Milan).
Dario Zuparic (HNK Rijeka) wins a free kick in the defensive half.
Offside, Milan. Manuel Locatelli tries a through ball, but Ignazio Abate is caught offside.
Substitution, HNK Rijeka. Charalampos Mavrias replaces Zoran Kvrzic.
Foul by Riccardo Forte (Milan).
Marko Vesovic (HNK Rijeka) wins a free kick in the defensive half.
Corner, Milan. Conceded by Marko Vesovic.
Corner, Milan. Conceded by Dario Zuparic.
Substitution, HNK Rijeka. Matic Crnic replaces Mario Gavranovic.
Substitution, Milan. Riccardo Forte replaces Luca Antonelli.
Cristian Zapata (Milan) wins a free kick in the defensive half.
Foul by Mario Gavranovic (HNK Rijeka).
Manuel Locatelli (Milan) is shown the yellow card for a bad foul.
Foul by Manuel Locatelli (Milan).
Mate Males (HNK Rijeka) wins a free kick in the attacking half.
Attempt missed. Lucas Biglia (Milan) right footed shot from outside the box is close, but misses to the left from a direct free kick.
Manuel Locatelli (Milan) wins a free kick in the attacking half.
Foul by Mate Males (HNK Rijeka).