If we have a binary matrix then we will say that a \$1\$ is stable if it is in the bottom row or it is directly adjacent to a \$1\$ which is stable.
In other words there must be a path to the bottom row consisting only of \$1\$s.
So in the following matrix the \$1\$s highlighted in red are not stable.
$$ 0110\color{red}{1}0\\ 0100\color{red}{11}\\ 110000\\ $$
A matrix is stable if every \$1\$ in it is stable.
Your task is to take a matrix or list of rows and determine if there is someway to rearrange the rows into a stable matrix.
The example above can be if we swap the top and bottom row:
$$ 110000\\ 011010\\ 010011\\ $$
But the following matrix cannot:
$$ 01010\\ 10101\\ 00000 $$
You may take input in any reasonable format. You may also assume that there is at least one row and that all rows are at least 1 element long. You should output one of two distinct values if it is possible to rearrange the rows into a stable matrix and the other if it is not.
This is code-golf so the goal is to minimize your source code with answers being scored in bytes.
Test cases
000
000
000
-> True
1
-> True
011010
010011
110000
-> True
01010
10101
00000
-> False
01010
10101
01110
-> True
01010
01100
00011
10101
-> False
10
01
-> False