.table_container{

    max-height: fix;
    overflow-y: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
thead {
    position: sticky;
    top: 0;
    z-index: 1;
}



th {
    position: sticky;
    background-color: #2f7a2f;
    color: white;
    text-align: center;
    padding: 10px;
    font-weight: bold;
    border: 1px solid #205320;
}

th.left {
    text-align: left;
}

th.right{
    text-align: right;
}

td {
    padding: 8px;
    border: 1px solid #ddd;
}

/* Rechtsbündige Spalten */
.right-align {
    text-align: right;
}

/* Zentrierte Spalten */
.center-align {
    text-align: center;
}

.zeile-gestrichen {
    background-color: rgba(245, 9, 9, 0.295);
}

.zeile-nichtda {
    background-color: rgba(90, 86, 86, 0.295);
}

.zeile-abgegeben {
    background-color: rgba(38, 183, 219, 0.295);
}

.zeile-testiert {
    background-color: rgba(38, 219, 47, 0.295);
}

.zeile-neutral {
    background-color: rgba(255, 255, 255, 0);
}

header {
background-color: #333;
padding: 20px;
text-align: center;
}

header img {
height: 60px;
width: auto;
}

ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;

}

.navbar_nav li {
float: left;
}

ul li a {
display: block;
color: black;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}

ul li a:hover {
color: cyan;
}

ul.simple_list {
    list-style-type: disc;
    margin-left: 20px;
    padding-left: 20px;
}

ul.simple_list li {
    display: list-item;
    float: none;
    margin-bottom: 5px;
}

.navbar .dropdown-menu {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/* Stellt sicher, dass das Dropdown nicht die Navbar erweitert */
.navbar .nav-item.dropdown {
    position: relative;
}

.navbar .dropdown-menu {
    position: absolute;
    top: 100%;
    z-index: 1000;
}

/* Rechtsbündiges Dropdown */
.navbar .dropdown-menu-right {
    right: 0;
    left: auto;
}

/* Optional: Sanfte Animation */
.dropdown-menu {
    transition: opacity 0.2s ease;
}



.ml-auto { margin-left: auto; }

.mr-auto { margin-right: auto; }

.kurs_uebersicht {
    font-size: 14px;
    font-family: 'Helvetica', sans-serif;
}

.kurs_nummer {
    font-size: 16px;
    font-family: 'Helvetica', sans-serif;
}

.date_uebersicht {
    font-size: 12px;
}

.gestrichen {
    background-color: rgba(245, 9, 9, 0.295);
    
}

.nichtda {
    background-color: rgba(245, 9, 9, 0.295);
}

.vortestiert {
    background-color: rgba(251, 255, 0, 0.295);
}

.abgegeben {
    background-color: rgba(38, 183, 219, 0.295);
}

.testiert {
    background-color: rgba(38, 219, 47, 0.295);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    max-width: 1920px;
}

.form-field {
    display: flex;
    flex-direction: column;
}

.form-field label {
    margin-bottom: 5px;
    font-weight: bold;
}

.form-field input,
.form-field select {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.full-width {
    grid-column: 1 / -1;
}

.form-grid-register {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 15px;
    column-gap: 30px;
    max-width: 1920px;
}

.form-field-register {
    display: flex;
    flex-direction: column;
}

.form-field-register label {
    margin-bottom: 5px;
    font-weight: bold;
}

.form-field-register input,
.form-field-register select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.btn {
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
}

.spreadsheet-wrapper {
        width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        margin: 20px 0;
        border: 1px solid #ddd;
        border-radius: 5px;
    }
    
/* Verhindert, dass die Tabelle den Container sprengt */
#spreadsheet {
    min-width: 100%;
}

/* Optional: Schatten für Scroll-Hinweis */
.spreadsheet-wrapper {
    box-shadow: inset -10px 0 10px -10px rgba(0,0,0,0.1);
}

.spreadsheet-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    margin: 20px 0;
}

/* Optional: Verhindert dass der Body scrollt */
body {
    overflow-x: hidden;
}

.gruppe-header td {
    font-weight: bold;
    text-align: center;
    padding: 5px 5px;
}

.gruppe-header_1 td {
    font-weight: bold;
    text-align: left;
    padding: 5px 5px;
    background-color: #b7e7b9bf;
}

.full-width {
    width: 100%;
    box-sizing: border-box;
}

.light_green_bckcol {
    background-color: #6aa86a;
    border: 1px solid #6aa86a;
}

.form_grid {
    display: grid;
    grid-template-columns: 150px 300px;
    gap: 12px 16px;
}

button {
    transition: background-color 0.3s ease;  /* sanfter Übergang */
}

button.btn-success {
    background-color: #2196F3;  /* blau */
    color: white;
}

button.btn-error {
    background-color: #f44336;  /* rot */
    color: white;
}
