.vertical-headers thead th {
    vertical-align: bottom;
    white-space: nowrap;
    padding: 0.35rem; /* etwas mehr Raum */
    height: 160px; /* mehr Höhe, damit Text nicht überragt */
    max-width: 34px; /* etwas breiter für Lesbarkeit */
    overflow: hidden; /* überragenden Inhalt abschneiden */
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    font-size: 0.80rem; /* etwas größer als zuvor */
}

@supports not (writing-mode: vertical-rl) {
    .vertical-headers thead th {
        writing-mode: initial;
        transform: rotate(-90deg);
        transform-origin: left top;
    }
}

/* Zellen allgemein etwas kompakter halten */
.table.table-sm.vertical-headers th,
.table.table-sm.vertical-headers td {
    padding: 0.20rem 0.35rem;
}

