html {
    font-size: 14px;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f7f7f9;
}

main {
    flex: 1 0 auto;
}

.form-label {
    font-weight: 600;
}

/* Honeypot: fuer Menschen unsichtbar, fuer Formular-Bots aber vorhanden.
   Bewusst kein display:none — manche Bots ueberspringen solche Felder. */
.hp-feld {
    position: absolute;
    left: -5000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.karte {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    padding: 1.5rem;
}

/* Mandantenlogo oben rechts. Die Groesse wird hier begrenzt und nicht per
   style-Attribut gesetzt: die CSP erlaubt im Betrieb nur style-src 'self',
   Inline-Styles wuerden also blockiert. Ein zu grosses Bild darf die
   Kopfzeile nicht sprengen, deshalb feste Hoehe und Breite nach oben
   gedeckelt. */
.mandant-logo {
    max-height: 40px;
    max-width: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.mandant-logo-vorschau {
    max-height: 80px;
    max-width: 260px;
    width: auto;
    height: auto;
    object-fit: contain;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    padding: .25rem;
    background: #fff;
}

/* Verzeichnisbaum des Dateiexplorers. Die Einrueckung entsteht ueber die
   verschachtelten Listen der Teilansicht _Baumzweig; Inline-Styles waeren
   ohnehin nicht moeglich, weil die CSP nur style-src 'self' erlaubt. */
.baum-liste {
    list-style: none;
    margin: 0;
    padding-left: 1rem;
}

.baum-liste > li > .baum-liste {
    border-left: 1px solid #dee2e6;
}

.baum-eintrag {
    display: block;
    padding: .15rem .35rem;
    border-radius: .25rem;
    text-decoration: none;
    overflow-wrap: anywhere;
}

a.baum-eintrag:hover {
    background: #eef2f7;
}

.baum-aktiv {
    background: #e7f1ff;
    font-weight: 600;
}

/* Freitext aus Nutzereingaben: Umbrueche erhalten, lange Zeichenketten
   umbrechen, damit die Tabelle nicht gesprengt wird. */
.freitext {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
