/* Gesamt-Layout auf volle Höhe setzen */
.layout {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

/* Der Hauptinhalt nimmt den verbleibenden Platz ein */
.main-content {
    display: flex;
    flex: 1;
    overflow: hidden; /* Verhindert Scrollen des gesamten Layouts */
    min-height: 0; /* Wichtiger Fix für dynamische Höhe */
}

/* Hauptinhalt */
main {
    flex-grow: 1;
    overflow-y: auto; /* Scrollbar nur, wenn der Inhalt zu groß ist */
    min-height: 0;
    padding: 20px;
}

/* Navigation (links) */
.sidebar {
    width: 250px;
    padding: 10px;
}

.sidebar-item {
    display: flex;
    align-items: center;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
}

.sidebar-item i {
    margin-right: 10px;
}



/* Hilfebereich (rechts) */
.help-panel {
    height: 100vh; /* Stellt sicher, dass der Hilfebereich die volle Höhe einnimmt */
    overflow-y: auto; /* Nur scrollbar, wenn nötig */
}

/* Toolbar (passt sich der Höhe des Inhalts an) */
.toolbar {
    padding: 5px;
    display: flex;
    align-items: center;
}

/* Menü (passt sich der Höhe des Inhalts an) */
.top-menu {
    padding: 5px;
    display: flex;
    align-items: center;
    min-height: 35px;
}


    .top-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
    }

    .top-menu .menu-item {
        position: relative;
        margin-right: 20px;
        padding: 5px;
        cursor: pointer;
    }

.submenu {
    display: none;
    position: absolute;
    list-style: none;
    padding: 5px;
    top: 100%;
    left: 0;
    width: 150px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

    .submenu li {
        padding: 5px 10px;
    }

        .submenu li a {
            text-decoration: none;
        }

.cookie-consent-banner {
    padding: 10px;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 1000;
}

    .cookie-consent-banner button {
        margin: 5px;
    }

h1 {
    text-align: center; /* Zentriert den Text */
    outline: none;
}

/* Entfernt den Fokus-Rahmen für Elemente, die mit der Maus fokussiert wurden */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Stellt sicher, dass der Fokus-Rahmen für Tastaturnutzer sichtbar bleibt */
/**:focus-visible {
    outline: 2px dashed currentColor;
    outline-offset: 2px;
}*/



/* Footer bleibt immer unten sichtbar */
footer {
    text-align: center; /* Richtet die Links nach rechts aus */
    padding: 5px;
    position: relative;
    bottom: 0;
    width: 100%;
    text-decoration: none; /* Entfernt Unterstreichung */
}

    footer a {
        text-decoration: none;
        margin-left: 10px; /* Fügt einen rechten Abstand zwischen den Links hinzu */
        margin-right: 10px; /* Fügt einen rechten Abstand zwischen den Links hinzu */
    }





/* Header bleibt immer oben sichtbar */
header {
    text-align: right; /* Richtet die Links nach rechts aus */
    padding: 5px;
    position: relative;
    bottom: 0;
    width: 100%;
    text-decoration: none; /* Entfernt Unterstreichung */
}

header a {
    text-decoration: none;
    margin-left: 10px; /* Fügt einen rechten Abstand zwischen den Links hinzu */
    margin-right: 10px; /* Fügt einen rechten Abstand zwischen den Links hinzu */
}



.groupbox {
    border: 1px solid;
    padding: 1rem;
    margin-top: 1rem;
    border-radius: 5px;
}



/* Checkbox & Radio */
    /* Toggle-Switches */
    input[type="checkbox"].toggle {
        appearance: none;
        width: 40px;
        height: 20px;
        border-radius: 10px;
        position: relative;
        cursor: pointer
    }

        input[type="checkbox"].toggle::before {
            content: "";
            position: absolute;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            top: 2px;
            left: 2px;
            transition: transform 0.2s;
        }

        input[type="checkbox"].toggle:checked::before {
            transform: translateX(20px);
        }

select:hover {
    cursor: pointer;
}



/* ------------- Sektionen mit einem einfachen Border und Abstand --------------*/
/* Sektionen mit einem einfachen Border und Abstand */


/* Container für alles */
.section-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.section-container-Text {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 40%;
    margin: 0 auto;
}

/* Zentrierte Überschrift nur über der Tabelle */
h2.section-centered {
    text-align: center;
    margin: 20px 0; /* Abstand zur Tabelle */
    width: 100%; /* ganze Breite nutzen */
}

/* Grid-Container */
.section-grid-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Drei gleich breite Spalten */
    gap: 10px;
    justify-items: start;
}

.section {
    padding: 10px;
    border-radius: 8px;
    width: 100%; /* ganze Breite nutzen */
}

/* Header der Sektionen */
.section-header {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
    padding-left: 10px;
}

/* Grid-Elemente */
.section-grid-item {
    background-color: transparent;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    /* Keine Ränder oder Schatten */
    border: none;
    box-shadow: none;
    text-align: left; /* Stellt sicher, dass der Inhalt in jeder Spalte linksbündig ist */
}

.section-grid-item.without-border {
    /* Keine Ränder oder Schatten */
    border: none;
    box-shadow: none;
    font-weight: bold;
}

/* Grid-Elemente */
.section-grid-item {
    background-color: transparent;
}

.section-grid-item.without-border {
    /* Keine Ränder oder Schatten */
    border: none;
    box-shadow: none;
    font-weight: bold;
}
/* ----------------------------------------------------------------------------- */


/* --------------------------------- Tabellen-Elemente ------------------------- */
/* Optional: Breite der Tabelle, um Scroll zu triggern */
.table-scroll-container {
    overflow-x: auto; /* Ermöglicht horizontalen Scroll */
    padding-bottom: 8px; /* Etwas Luft unter der Tabelle */
}

/* Optional: Breite der Tabelle, um Scroll zu triggern */
.table {
    min-width: 1200px; /* Kann angepasst werden */
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    border-radius: 8px;
    overflow: hidden;
    margin-top: 1rem;
}

.table-header {
    display: contents;
}

.table-column-header {
    text-align: center;
    font-weight: bold;
    padding: 8px;
}

.table-row {
    display: contents;
}

.table-cell {
    padding: 6px;
    text-align: center;
}



/* Tabellen */
table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    padding: 8px;
}
/* ----------------------------------------------------------------------------- */