.schnellmeldung {
    --schnellmeldung-columns: 3;
    grid-template-columns: max-content repeat(calc(var(--schnellmeldung-columns) - 2), 1fr) max-content;
}
.schnellmeldung[data-schnellmeldung-columns="3"] { --schnellmeldung-columns: 3; }
.schnellmeldung[data-schnellmeldung-columns="4"] { --schnellmeldung-columns: 4; }
.schnellmeldung[data-schnellmeldung-columns="5"] { --schnellmeldung-columns: 5; }
.schnellmeldung[data-schnellmeldung-columns="6"] { --schnellmeldung-columns: 6; }
.schnellmeldung tr > :last-child, .schnellmeldung tr > :last-child input {
    text-align: end;
}

.summensatz {
    grid-template-columns: max-content 3fr 1fr 1fr 1fr;
}

:is(.schnellmeldung, .sitzverteilung, .summensatz) :is(th[scope="row"], label) {
    font-weight: normal;
}

.grid {
    display: grid;
}

.grid table tr:nth-child(even) {
    background-color: #DFE8F2;
}

.grid :is(table, hr, tbody, thead, tr) {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
}

.grid tr > [colspan="2"] { grid-column: span 2; }
.grid tr > [colspan="3"] { grid-column: span 3; }
.grid tr > [colspan="4"] { grid-column: span 4; }

.grid tr > * {
    align-self: center;
}

.schnellmeldung-info {
    margin-bottom: 1.4em;
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 0.5em;
}

.schnellmeldung-info > * {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
}

.schnellmeldung-info ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.5em;

    list-style-type: none;
    padding: 0;
    margin: 0;
}

.schnellmeldung-info .fehlerschluessel {
    color: red;
    cursor: help;
    font-weight: bold;
}