/* ==================================================================== */
/* === GLOBALE STILE & NICHT THEMEN-SPEZIFISCHE LAYOUTS (DEFAULT) === */
/* ==================================================================== */

/* === SCHRIFTARTEN (Grundeinstellung) === */

/* Grundschriftart für alle orbit-Elemente */
.orbit-font {
    font-family: 'Avant Garde', 'Arial', sans-serif;
}

/* Spezielle Formatierung für Überschriften/wichtige Texte */
.text-orbit-headings {
    color: white; /* Wird von Dark/Light Mode überschrieben */
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}
.orbit-blue-font {
    color: #99DBF8; /* Wird von Dark/Light Mode überschrieben */
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}

/* Hintergrund für Navigationsleiste und generische Objekte */
.orbit-navbar {
    color: #323232 !important; /* Hintergrund wird themenabhängig gesetzt */
}
.orbit-objects {
    color: black !important; /* Wird von Dark/Light Mode überschrieben */
}

/* Spezielle Boxen */
.orbit-box {
    background-color: #efefef !important; /* Standardwert (Light Mode) */
}

/* ==================================================================== */
/* === BUTTONS & FARBEN (Basis-Definitionen, oft Light Mode Standard) === */
/* ==================================================================== */

/* Haupt-Aktionsfarbe (Wichtig) */
.orbit-important {
    background-color: #009fe3 !important;
    color: white;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}
.orbit-important:hover {
    background-color: #99DBF8 !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}

/* Sekundär-Aktionsfarbe (Info-Level) */
.orbit-info {
    background-color: #99DBF8 !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}
.orbit-info:hover {
    background-color: #009fe3 !important;
    color: white;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}

/* Umrandete Buttons (Outline - Wichtig) */
.outline-orbit-important {
    outline: 2px solid #009fe3 !important; /* Wird von Dark Mode überschrieben */
    color: black;
    background-color: transparent;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}

/* Outline Buttons (Info) */
/* Der outline-orbit-info:hover war im Original an dieser Stelle, wird unten beim Light Mode wieder zusammengeführt */
.outline-orbit-info:hover {
    background-color: #009fe3 !important; /* Wird von Dark Mode überschrieben */
    color: white;
    font-family: 'Avant Garde', 'Arial', sans-serif;
    font-weight: bold;
}

/* ==================================================================== */
/* === KOMPONENTEN-SPEZIFISCHE STILE === */
/* ==================================================================== */

/* Navbar Navigation Buttons */
.navbar-nav .nav-item .btn {
    width: 140px;
    white-space: nowrap;
    text-align: center;
    flex: 1;
    min-width: 80px;
    margin-bottom: 5px;
    margin-top: 5px;
    /* NEU: Damit alle Farbänderungen weich animiert werden */
    transition: all 0.2s ease-in-out;
    border: 2px solid transparent; /* Platzhalter, damit es beim Hover nicht springt */
}
.dropdown-menu {
    min-width: 200px;
    max-width: 90vw;
    overflow-x: auto;
}

/* Hervorgehobene Karten (Student Cards - Basis-Stile) */
.student-card {
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    padding: 0.5rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.highlight {
    border-left: 4px solid #009fe3 !important;
}

/* Spezielle Auswahlfelder */
#addStudentSelect {
    font-size: 1.3rem;
    line-height: 2rem;
    padding: 1rem;
}
/* 1. Hintergrundfarbe im ausgeschalteten Zustand auf Weiß setzen */
.orbit-switch-container .form-check-input {
    background-color: #ffffff;
    border-color: #dee2e6; /* Ein leichter Rahmen, damit er auf weißem Grund sichtbar ist */
    /*background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");*/
}
.mb-3 { position: relative; } /* Damit absolute Vorschläge am Input kleben */
#searchSuggestions {
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    cursor: pointer;
}
.orbit-switch-container .form-check-input {
    background-color: #ffffff; /* Hintergrund Weiß im Aus-Zustand */
    border-color: #dee2e6;     /* Leichter grauer Rand zur Sichtbarkeit */
    height: 1.5em;
    width: 3em;
    cursor: pointer;
    /* Der Punkt (SVG) im Aus-Zustand: Hier leicht grau gefärbt, damit er auf weiß sichtbar ist */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");
}

/* Wenn der Schalter AKTIVIERT ist */
.orbit-switch-container .form-check-input:checked {
    background-color: #99DBF8; /* Dein Wunsch-Blau */
    border-color: #99DBF8;
    /* Der Punkt (SVG) im An-Zustand: Rein Weiß für maximalen Kontrast auf Blau */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

/* Optional: Fokus-Effekt (der blaue Schatten beim Anklicken) */
.orbit-switch-container .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(153, 219, 248, 0.25);
    border-color: #99DBF8;
}
/* 2. Hintergrundfarbe im eingeschalteten Zustand auf dein Blau setzen */
.orbit-switch-container .form-check-input:checked {
    background-color: #99DBF8;
    border-color: #99DBF8;
    /* Den Kreis im aktiven Zustand wieder weiß machen für besseren Kontrast */
    /*background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");*/
}

/* 3. Fokus-Ring anpassen (optional, für die Optik beim Anklicken) */
.orbit-switch-container .form-check-input:focus {
    border-color: #99DBF8;
    box-shadow: 0 0 0 0.25rem rgba(153, 219, 248, 0.25);
}
/* Student Search Bar */
#studentSearch {
    margin-bottom: 1rem;
    display: none; /* erst nach Auswahl sichtbar */
}

/* ==================================================================== */
/* === HILFE-POPUP STYLES (THEMEN-UNABHÄNGIG) === */
/* ==================================================================== */

/* Hilfe-Button */
#help-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-weight: bold;
    font-size: 20px;
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    cursor: pointer;
    z-index: 1000;
    transition: background-color 0.3s;
}

/* Popup Overlay */
#help-popup, #lb-help-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 99999;
}
.help-popup-style {
    display: none; /* WICHTIG: Startet unsichtbar */
    position: fixed;
    z-index: 99999 !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.7);
    overflow-y: auto;
    align-items: flex-start;
    justify-content: center;
}
/* Popup Content Container */
#help-content, #lb-help-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 8px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 100000;
    overflow: hidden;
}

/* Modal Header mit X-Button rechts */
#help-content .modal-header,
#lb-help-content .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    position: relative;
}

/* Modal Title */
#help-content .modal-title,
#lb-help-content .modal-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 500;
    flex: 1;
}
.status-badge{
    padding:4px 10px;
    border-radius:999px;
    font-size:.85rem;
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.status-green{ background:rgba(34,197,94,.15); color: #33ff7a; }
.status-yellow{ background:rgba(234,179,8,.15); color: #ffde63; }
.status-orange{ background:rgba(249,115,22,.15); color: #ff9952; }
.status-red{ background:rgba(239,68,68,.15); color: #ff9191; }

/* X-Button Styling - rechts oben */
#help-content .btn-close,
#lb-help-content .btn-close {
    position: static; /* Nicht absolute, sondern im Flex-Layout */
    margin: 0;
    padding: 0.25rem 0.5rem;
    background-color: transparent;
    border: 0;
    font-size: 1.5rem;
    line-height: 1;
    opacity: 0.5;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s;
    order: 2; /* Sicherstellen, dass er rechts ist */
}

/* Hover Effekt für X-Button */
#help-content .btn-close:hover,
#lb-help-content .btn-close:hover {
    opacity: 0.75;
    background-color: rgba(0,0,0,0.1);
}

/* Modal Body */
#help-content .modal-body,
#lb-help-content .modal-body {
    padding: 1.5rem;
    max-height: 60vh;
    overflow-y: auto;
}

/* Listen Styling */
#help-content ul,
#lb-help-content ul {
    padding-left: 1.5rem;
    margin-bottom: 0;
}

#help-content li,
#lb-help-content li {
    margin-bottom: 0.5rem;
}


/* ==================================================================== */
/* === SCROLLBAR STILE (THEMEN-UNABHÄNGIG DEFI NIERT) === */
/* ==================================================================== */


/* --- Scrollbar Dark Mode (Basis: Dunkel) --- */
[data-bs-theme="dark"] ::-webkit-scrollbar {
    width: 50px; /* Bleibt konstant, falls es mobil relevant ist */
}
[data-bs-theme="dark"] ::-webkit-scrollbar-track {
    background: #2c2c2c; /* Dunkler Hintergrund */
    border-radius: 10px;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
    background-color: #555; /* Dunkler Thumb */
    border-radius: 10px;
    border: 3px solid #2c2c2c;
}
[data-bs-theme="dark"] * {
    scrollbar-width: thin;
    scrollbar-color: #555 #2c2c2c; /* Firefox: Thumb Track */
}
/* --- Scrollbar Light Mode (Basis: Hell) --- */
[data-bs-theme="light"] ::-webkit-scrollbar {
    width: 50px;
}
[data-bs-theme="light"] ::-webkit-scrollbar-track {
    background: #f1f1f1; /* Sehr heller Hintergrund */
    border-radius: 10px;
}
[data-bs-theme="light"] ::-webkit-scrollbar-thumb {
    background-color: #c1c1c1; /* Mittleres Grau (Thumb) */
    border-radius: 10px;
    border: 3px solid #f1f1f1;
}
[data-bs-theme="light"] * {
    scrollbar-width: thin;
    scrollbar-color: #c1c1c1 #f1f1f1; /* Firefox: Thumb Track */
}

/* ==================================================================== */
/* === 🌙 DARK MODE ÜBERSCHREIBUNGEN (data-bs-theme="dark") === */
/* ==================================================================== */

[data-bs-theme="dark"] {
    background-color: #212529 !important;
    color: #212529; /* Wird oft von Kindelementen überschrieben */
}
[data-bs-theme="dark"] .orbit-navbar {
    background-color: #2f2f37 !important;
}
/* Das Icon standardmäßig als Inline-Block setzen, damit es rotieren kann */
.text-decoration-none .bi-chevron-right {
    display: inline-block;
    transition: transform 0.3s ease; /* Weicher Übergang */
}

/* Wenn das Element NICHT die Klasse .collapsed hat (also ausgeklappt ist) */
.text-decoration-none:not(.collapsed) .bi-chevron-right {
    transform: rotate(90deg); /* Drehung um 90 Grad nach unten */
}
/* --- Schrift & Farben (Dark) --- */
[data-bs-theme="dark"] .orbit-font {
    color: white;
    text-decoration-color: white;
}
[data-bs-theme="dark"] .orbit-blue-font {
    color: #99DBF8 !important;
}
[data-bs-theme="dark"] .orbit-objects {
    color: #aeaeae !important;
}
[data-bs-theme="dark"] .orbit-objects-important {
    color: #99DBF8 !important;
}
[data-bs-theme="light"] .orbit-objects-important {
    color: #009fe3 !important;
}
[data-bs-theme="dark"] .orbit-box {
    background-color: #26262c !important;
}
[data-bs-theme="dark"] .bg-orbit {
    background-color: #9c9c9c !important;
    color: #ffffff;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
.nav-scroll-indicator {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 60px;
    height: 80%;
    display: none; /* Wird per JS aktiviert */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s;
    pointer-events: none; /* Damit man durchklicken kann, außer auf den Button */
}

.nav-scroll-indicator i {
    pointer-events: auto;
    background: var(--bs-body-bg);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Blur Verläufe */
.left-indicator {
    left: 0;
    justify-content: flex-start;
}

.right-indicator {
    right: 0;
    justify-content: flex-end;
}

/* Sicherstellen, dass die Nav nicht springt */
.orbit-scroll-nav {
    scroll-behavior: smooth;
    scrollbar-width: none; /* Firefox */
}
/* --- Buttons (Dark) --- */
[data-bs-theme="dark"] .orbit-important {
    background-color: #99DBF8 !important;
    color: black;
}
[data-bs-theme="dark"] .orbit-important:hover {
    background-color: #009fe3 !important;
    color: white;
}
[data-bs-theme="dark"] .orbit-info {
    background-color: #009fe3 !important;
    color: white;
}

[data-bs-theme="dark"] .btn-orbit-info {
    background-color: #009fe3 !important;
    color: white;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="dark"] .btn-orbit-info:hover {
    background-color: #0193cf !important;
    color: white;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="dark"] .btn-orbit-important {
    background-color: #99DBF8 !important;
    color: #000000;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="dark"] .btn-orbit-grey {
    background-color: transparent !important;
    color: #ffffff;
    outline-style: solid !important;
    outline-width: thin !important;
    outline-color: white !important;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}

/* Outline Buttons (Dark) */
[data-bs-theme="dark"] .outline-orbit-important {
    outline: 2px solid #99DBF8 !important;
    color: white;
    background-color: transparent;
}
[data-bs-theme="dark"] .outline-orbit-info {
    outline: 2px solid #009fe3 !important;
    color: white;
    background-color: transparent;
}
[data-bs-theme="dark"] .outline-orbit-info:hover {
    background-color: #99DBF8 !important;
    color: black;
}
[data-bs-theme="dark"] .btn-outline-orbit-important {
    outline: 1px solid #99DBF8 !important;
    color: black; 
    background-color: transparent;
}
/* Die Hauptklasse für den Footer */
.footer-centered {
    display: flex;
    flex-direction: column; /* Stapelt Inhalt (z.B. Text & Icons) untereinander */
    justify-content: center; /* Vertikale Zentrierung */
    align-items: center;     /* Horizontale Zentrierung */
    text-align: center;      /* Zentriert reinen Text */
    padding: 20px;           /* Abstand nach innen */
    width: 100%;             /* Volle Breite */
    background-color: #f8f9fa; /* Optional: Hintergrundfarbe */
}

/* Optional: Damit der Footer immer ganz unten bleibt, falls wenig Inhalt da ist */
.sticky-footer {
    margin-top: auto;
}
.footer-rounded {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 25px;

    /* Abrundung: Oben links und oben rechts 20px, unten 0 */
    border-radius: 20px 20px 20px 20px;
    margin-right: 20px;
    /* Etwas Schatten lässt die Rundung besser zur Geltung kommen */
    box-shadow: 0 -5px 15px rgba(0,0,0,0.05);

    background-color: #ffffff; /* Oder deine Wunschfarbe */
    width: 100%;
}
/* Toggle/Date Buttons (Dark) */
[data-bs-theme="dark"] .btn-dates-orbit-info {
    box-shadow: 0 0 0 #009fe3 inset;
    background-color: transparent;
    color: white;
    border-color: #009fe3;
}
[data-bs-theme="dark"] .btn-check:checked + .btn-dates-orbit-info,
[data-bs-theme="dark"] .btn-dates-orbit-info.active {
    background-color: #009fe3;
    color: white;
    border-color: #009fe3;
}
[data-bs-theme="dark"] .btn-dates-orbit-info:hover:not(.active):not(:checked) {
    background-color: #039ad5;
    border-color: #005778;
}


/* --- Spezielle Alert/Warnfarben (Dark) --- */
[data-bs-theme="dark"] .orbit-warnings {
    background-color: #ffde07 !important;
    color: black;
}

/* --- Tabellenfarben (Dark) --- */
[data-bs-theme="dark"] .table.table tr.table-success,
[data-bs-theme="dark"] .table.table tr.table-success > th,
[data-bs-theme="dark"] .table.table tr.table-success > td {
    color: #1c9f61 !important;
    background-color: #212529 !important;
}
[data-bs-theme="dark"] .table.table tr.table-danger,
[data-bs-theme="dark"] .table.table tr.table-danger > th,
[data-bs-theme="dark"] .table.table tr.table-danger > td {
    color: #dc3545 !important;
    background-color: #212529 !important;
}
[data-bs-theme="dark"] .table.table tr.table-warning,
[data-bs-theme="dark"] .table.table tr.table-warning > th,
[data-bs-theme="dark"] .table.table tr.table-warning > td {
    color: #dca235 !important;
    background-color: #212529 !important;
}
/* --- Tabellenfarben (Light) --- */
[data-bs-theme="light"] .table.table tr.table-success,
[data-bs-theme="light"] .table.table tr.table-success > th,
[data-bs-theme="light"] .table.table tr.table-success > td {
    color: #1c9f61 !important;
    background-color: #f3f3f3 !important;
}
[data-bs-theme="light"] .table.table tr.table-danger,
[data-bs-theme="light"] .table.table tr.table-danger > th,
[data-bs-theme="light"] .table.table tr.table-danger > td {
    color: #dc3545 !important;
    background-color: #f3f3f3 !important;
}
[data-bs-theme="light"] .table.table tr.table-warning,
[data-bs-theme="light"] .table.table tr.table-warning > th,
[data-bs-theme="light"] .table.table tr.table-warning > td {
    color: #dca235 !important;
    background-color: #f3f3f3 !important;
}

/* --- Student Cards (Dark) --- */
[data-bs-theme="dark"] .student-card {
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    padding: 0.5rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #444;
    background-color: #2c2f33; /* Darkmode Hintergrund */
    color: #eee; /* Textfarbe */
}
[data-bs-theme="dark"] .student-card.selected {
    background-color: #0d6efd33; /* leichtes Blau */
    border-color: #0d6efd;
}
[data-bs-theme="dark"] .student-card:hover {
    background-color: #3a3f48;
    transform: scale(1.01);
}
[data-bs-theme="dark"] .student-card > div {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0; /* wichtig für Textüberlauf */
    user-select: none;
}
[data-bs-theme="dark"] .student-card .name {
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-bs-theme="dark"] .student-card .meta {
    font-size: 0.8rem;
    color: #ccc;
}
[data-bs-theme="dark"] .student-card .profile-pic,
[data-bs-theme="dark"] .student-card .profile-initials {
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
    border-radius: 50%;
    object-fit: cover;
    background: #555;
}


/* --- Hilfe-Popup (Dark) --- */
[data-bs-theme="dark"] #help-button {
    background-color: #009fe3;
    color: white;
}
[data-bs-theme="dark"] #help-button:hover {
    background-color: #0094ca;
}
[data-bs-theme="light"] #border-orbit-important {
    border-color: #0094ca;
}
[data-bs-theme="dark"] #border-orbit-important {
    border-color: #99DBF8;
}
[data-bs-theme="dark"] #help-content,
[data-bs-theme="dark"] #lb-help-content {
    background: #333;
    color: white;
}
[data-bs-theme="dark"] #help-content .modal-header,
[data-bs-theme="dark"] #lb-help-content .modal-header {
    background-color: #3a3a3a;
    border-bottom: 1px solid #555;
}
[data-bs-theme="dark"] #help-content .btn-close,
[data-bs-theme="dark"] #lb-help-content .btn-close {
    color: white;
}
[data-bs-theme="dark"] #help-content .btn-close:hover,
[data-bs-theme="dark"] #lb-help-content .btn-close:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}


/* ==================================================================== */
/* === ☀️ LIGHT MODE ÜBERSCHREIBUNGEN (data-bs-theme="light") === */
/* ==================================================================== */

[data-bs-theme="light"] {
    background-color: #ffffff !important;
}
[data-bs-theme="light"] .orbit-navbar {
    background-color: #e8e8e8 !important;
}

/* --- Schrift & Farben (Light) --- */
[data-bs-theme="light"] .orbit-font {
    color: black;
    text-decoration-color: black;
}
[data-bs-theme="light"] .text-orbit-headings {
    color: #000 !important;
}
[data-bs-theme="light"] .orbit-blue-font {
    color: #009fe3 !important;
}
[data-bs-theme="light"] .orbit-objects {
    color: #434345 !important;
}
[data-bs-theme="light"] .orbit-box {
    background-color: #f8f8f8 !important;
}
[data-bs-theme="light"] .bg-orbit {
    background-color: #cfcfcf !important;
    color: #424242;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}

/* --- Buttons (Light) --- */
[data-bs-theme="light"] .orbit-important {
    background-color: #009fe3 !important;
    color: #000000;
}

 .nav-tabs .nav-link { color: var(--muted); border: none; }
[data-bs-theme="light"] .nav-tabs .nav-link.active { background: transparent; border-bottom: 3px solid #009fe3; color: #000000; font-weight: bold; }
[data-bs-theme="dark"] .nav-tabs .nav-link.active { background: transparent; border-bottom: 3px solid #99DBF8; color: #fff; font-weight: bold; }

.orbit-navbar { border-bottom: 1px solid rgba(255,255,255,0.1); }
/* Styles aus Datei 1 */
.student-card { background: #17181a; border-radius:14px; box-shadow:0 8px 30px rgba(0,0,0,0.6); }
.stat-bar { flex:1; height:12px; border-radius:999px; background:rgba(255,255,255,0.05); position:relative; overflow:hidden; }
.filled { position:absolute; left:0; top:0; bottom:0; transition:width .6s ease; }
.filled--success { background: linear-gradient(90deg,#6bd27b,#22c55e); }

[data-bs-theme="light"] .orbit-important:hover {
    background-color: #99DBF8 !important;
    color: black;
}
[data-bs-theme="light"] .orbit-info {
    background-color: #99DBF8 !important;
    color: black;
}
[data-bs-theme="light"] .btn-orbit-info {
    background-color: #99DBF8 !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="light"] .btn-orbit-info:hover {
    background-color: #86c0da !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="light"] .btn-orbit-special {
    background-color: #00d833 !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="light"] .btn-orbit-special:hover {
    background-color: #009e22 !important;
    color: black;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="dark"] .btn-orbit-special {
    background-color: #00ae2b !important;
    color: #ffffff;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="dark"] .btn-orbit-special:hover {
    background-color: #007e1d !important;
    color: #ffffff;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="light"] .btn-orbit-important {
    background-color: #009fe3 !important;
    color: #ffffff;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}
[data-bs-theme="light"] .btn-orbit-grey {
    background-color: transparent !important;
    color: #000000;
    outline-style: solid !important;
    outline-width: thin !important;
    outline-color: black !important;
    font-family: 'Avant Garde', 'Arial', sans-serif;
}

/* Outline Buttons (Light) */
[data-bs-theme="light"] .outline-orbit-important {
    outline: 2px solid #009fe3 !important;
    color: black;
    background-color: transparent;
}
[data-bs-theme="light"] .outline-orbit-info {
    outline: 2px solid #99DBF8 !important;
    color: black;
    background-color: transparent;
}
[data-bs-theme="light"] .outline-orbit-info:hover {
    background-color: #009fe3 !important;
    color: white;
}
[data-bs-theme="light"] .btn-outline-orbit-important {
    outline: 1px solid #009fe3 !important;
    color: black;
    background-color: transparent;
}
[data-bs-theme="light"] .bg-orbit-important {
    background: #009fe3 !important;
    color: white;
}
[data-bs-theme="dark"] .bg-orbit-important {
    background: #99DBF8 !important;
    color: black !important;
    text-decoration-color: black !important;
}

/* Toggle/Date Buttons (Light) */
[data-bs-theme="light"] .btn-dates-orbit-info {
    box-shadow: 0 0 0 #99DBF8 inset;
    background-color: transparent;
    color: black;
    border-color: #99DBF8;
}
[data-bs-theme="light"] .btn-check:checked + .btn-dates-orbit-info,
[data-bs-theme="light"] .btn-dates-orbit-info.active {
    background-color: #99DBF8;
    color: black;
    border-color: #99DBF8;
}
[data-bs-theme="light"] .btn-dates-orbit-info:hover:not(.active):not(:checked) {
    background-color: #b0e8ff;
    border-color: #005778;
}
/* Stil für die Klick-Aufforderung in der Diashow */
[data-bs-theme="light"] .slide-info {
    text-align: center;
    color: black;
    font-style: italic;
    font-size: 0.9rem;
    margin-top: 10px;
}
[data-bs-theme="dark"] .slide-info {
    color: white;
    text-align: center;
    font-style: italic;
    font-size: 0.9rem;
    margin-top: 10px;
}

/* Grundlegender Stil für die Slideshow (optional) */
#slideshow-container {
    position: relative;
    max-width: 100%;
}

.mySlides img {
    border-radius: 4px;
    margin-top: 10px;
    height: auto;
    max-height: 40vh; /* Begrenzt die Höhe im Modal */
    object-fit: contain;
}

/* --- Spezielle Alert/Warnfarben (Light) --- */
[data-bs-theme="light"] .orbit-warnings {
    background-color: #ffbd00 !important;
    color: black;
}

/* --- Student Cards (Light) --- */
[data-bs-theme="light"] .student-card {
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    padding: 0.5rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #040404;
    background-color: #ececec; /* Darkmode Hintergrund */
    color: #323232; /* Textfarbe */
}
[data-bs-theme="light"] .student-card.selected {
    background-color: #0d6efd33; /* leichtes Blau */
    border-color: #0d6efd;
}
[data-bs-theme="light"] .student-card:hover {
    background-color: #e4e4e4; /* Darkmode Hintergrund */
    transform: scale(1.01);
}
[data-bs-theme="light"] .student-card > div {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0; /* wichtig für Textüberlauf */
    user-select: none;
}
[data-bs-theme="light"] .student-card .name {
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-bs-theme="light"] .student-card .meta {
    font-size: 0.8rem;
    color: #474747;
}
[data-bs-theme="light"] .student-card .profile-pic,
[data-bs-theme="light"] .student-card .profile-initials {
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
    border-radius: 50%;
    object-fit: cover;
    background: #555;
}

/* --- Hilfe-Popup (Light) --- */
[data-bs-theme="light"] #help-button {
    background-color: #99DBF8;
    color: black;
}
[data-bs-theme="light"] #help-button:hover {
    background-color: #89c4dd;
}
[data-bs-theme="light"] #help-content,
[data-bs-theme="light"] #lb-help-content {
    background: white;
    color: #333;
}
[data-bs-theme="light"] #help-content .modal-header,
[data-bs-theme="light"] #lb-help-content .modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}
[data-bs-theme="light"] #help-content .btn-close,
[data-bs-theme="light"] #lb-help-content .btn-close {
    color: #6c757d;
}
[data-bs-theme="light"] #help-content .btn-close:hover,
[data-bs-theme="light"] #lb-help-content .btn-close:hover {
    background-color: rgba(0,0,0,0.1);
    color: #495057;
}