body {
    background-color: #f6f7f9;
}

.login-box {
    max-width: 380px;
    margin: 12vh auto 0;
    padding: 0 1rem;
}

.stat .stat-label {
    color: var(--bs-secondary-color);
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.stat .stat-value {
    color: var(--bs-body-color);
    font-size: 1.9rem;
    font-weight: 600;
}

.stat:hover {
    border-color: var(--bs-primary);
}

.table th {
    white-space: nowrap;
}

.table th a {
    color: inherit;
    text-decoration: none;
}

.sort-active::after {
    content: " ▲";
    font-size: .7em;
}

.sort-active.desc::after {
    content: " ▼";
}

.beschreibung {
    white-space: pre-line;
    max-height: 28rem;
    overflow-y: auto;
}

tr.removed td {
    color: var(--bs-secondary-color);
    text-decoration: line-through;
}

.kurs-header {
    background-color: var(--bs-tertiary-bg);
}

.narrow {
    max-width: 36rem;
}

.narrow-wide {
    max-width: 60rem;
}

.pre-line {
    white-space: pre-line;
}

.semesterplan tr.jahr-Jahr1 > td {
    background-color: #ddebf7;
}

.semesterplan tr.jahr-Jahr2 > td {
    background-color: #e2f0d9;
}

.semesterplan tr.jahr-Jahr3 > td {
    background-color: #fce4d6;
}

tr.fortgeschrieben > td {
    font-style: italic;
    color: var(--bs-secondary-color);
}

tr.teilzeile > td {
    background-color: var(--bs-tertiary-bg);
    font-weight: 600;
}

.regel-tabelle input.w-4 {
    width: 4.5rem;
}

.regel-tabelle td {
    min-width: 6rem;
}
