Two weeks after winning elections with a reduced majority, Chancellor Angela Merkel agreed on Sunday to limit Germany's refugee intake in a bid to unite her conservative camp ahead of tough coalition talks to form a new government.
Merkel's team huddled with her Bavarian CSU allies led by Horst Seehofer, who has angrily blamed her decision to allow in over one million asylum seekers since 2015 for the rise of the far-right Alternative for Germany (AfD) party.
After 10 hours of closed-door talks, Merkel's CDU and the CSU agreed they would aim to cap refugees coming to Europe's top economy at 200,000 a year, according to a draft paper -- a formulation close to a long-time Seehofer demand that Merkel had repeatedly rejected.
The goal of the meeting was to settle bitter squabbles so the estranged conservative sister parties can again present a united front in upcoming coalition talks with two smaller parties -- the pro-business Free Democrats (FDP) and the left-leaning and ecologist Greens.
The CSU's beleaguered Seehofer -- who after a vote drubbing faces internal challengers, and state elections next year -- had vowed to close his party's exposed "right flank" and win back AfD voters, crucially by taking a harder line on refugees and immigration.
In an opening salvo Sunday, the CSU had published a list of demands, including capping refugee numbers, a commitment to a "healthy patriotism" and an acknowledgement that "conservatism is sexy again".
"We must fight the AfD head-on -- and fight to get their voters back," said its ten-point list published in mass-circulation Bild am Sonntag.
Merkel had long rejected Seehofer's signature demand for an iron-cast "upper limit" of 200,000 refugees a year -- but late Sunday a deal was shaping up that some commentators dubbed an "upper limit light."
After hours of talks to square the circle of their competing positions, "a fundamental compromise has been reached", an alliance source told AFP.
The draft deal includes a target of limiting the refugee intake at 200,000 a year, but with caveats. It also says that asylum seekers will not be turned back before their cases are assessed, in line with the German constitution.
The 200,000-figure refers to controlled entries, such as through family reunions, and refugees accepted at the EU level or under a deal between the bloc and Turkey.
If there were a repeat of the chaotic mass migration like that from war-torn Syria and other conflict zones seen in 2015, the government would reassess the issue and consult parliament on a new target figure, according to the draft proposal.
Both CDU and CSU say migrant flows must be reduced through fighting traffickers and better guarding the EU's outside borders.
And the parties also plan a broader immigration law aimed at attracting qualified migrants with labour skills sought by German industry, matching a core demand of the FDP.
They also want to renew a push to declare three North African nations "safe countries of origin", raising the bar for asylum claims from there, a demand so far blocked by the Greens, who point to human rights abuses in those countries.