/* Gigi Music School 1.78.1 - grosse Schulen */
.ck-filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 8px; }
.ck-filter input[type=search] { flex: 1 1 220px; min-width: 0; }
.ck-filter select { flex: 0 1 220px; min-width: 0; }
.ck-check { display: flex; gap: 6px; align-items: center; font-size: 13px; color: #cbd5e1; white-space: nowrap; }
.ck-gruppe { font-size: 12px; font-weight: 700; color: #93c5fd; margin: 10px 2px 4px; text-transform: none; }
.ck-treffer { margin: 0 0 4px; }
.ck-doppelt { font-size: 11px; color: #fbbf24; font-weight: 600; }
details.schule-lehrer > summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
details.schule-lehrer > summary .meta { font-weight: 400; }
details.schule-lehrer:not([open]) { padding-bottom: 8px; }
.schule-liste { display: flex; flex-direction: column; gap: 8px; }
/* Cockpit am PC breiter nutzen */
@media (min-width: 900px) { #schuleLehrerModal .ck-modal { max-width: 1180px !important; width: 94vw; } }
/* Handy: nichts darf die Seite verbreitern */
#schuleLehrerModal .ck-modal { box-sizing: border-box; max-width: 100vw; }
#schuleLehrerModal .ck-modal * { min-width: 0; }
#schuleLehrerModal .ck-sys, #schuleLehrerModal .ck-zahlen { max-width: 100%; }
@media (max-width: 600px) {
  #schuleLehrerModal .ck-modal { padding-left: 12px !important; padding-right: 12px !important; }
  .ck-zeile .ck-rechts { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .ck-zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) { #keyFilter { width: auto; max-width: 38vw; min-width: 0; } }
details.fg-programm > summary { cursor: pointer; list-style: revert; }
details.fg-programm > summary h3 { display: inline; }
/* Stundenplan: Tagesansicht fuer alle Lehrkraefte */
.sp-tage { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.sp-tage button { background: #1e293b; border: 1px solid #334155; color: #e2e8f0; border-radius: 8px; padding: 5px 10px; cursor: pointer; font-size: 13px; }
.sp-tage button.an { border-color: #3b82f6; background: rgba(59,130,246,.18); font-weight: 700; }
.sp-tag { display: flex; flex-direction: column; gap: 3px; min-width: 760px; }
.sp-tag-kopf, .sp-tag-zeile { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 8px; }
.sp-tag-achse { position: relative; height: 18px; }
.sp-tag-achse span { position: absolute; transform: translateX(-50%); font-size: 11px; color: #94a3b8; }
.sp-tag-name { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-tag-bahn { position: relative; height: 30px; background: rgba(15,23,42,.5); border-radius: 6px; }
.sp-tag-bahn i { position: absolute; top: 0; bottom: 0; border-left: 1px solid rgba(148,163,184,.15); }
.sp-tag-termin { position: absolute; top: 3px; bottom: 3px; border: 0; border-left: 3px solid var(--sp-farbe); background: color-mix(in srgb, var(--sp-farbe) 28%, #0f172a); color: #f8fafc; border-radius: 5px; font-size: 11px; padding: 0 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; text-align: left; }
.sp-tag-termin.entfaellt { opacity: .45; text-decoration: line-through; }
#spInhalt:has(.sp-tag) { overflow-x: auto; }
/* 1.79: lange Klassennamen im Kopf nicht ueber den Handyrand */
#activeBandTitle{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}
