/* Kurssystem – alles unter .bgwk, setzt die Regeln des Themes für Überschriften, Listen, Tabellen und Knöpfe zurück. */
.bgwk { --bgwk-accent: #1d6fa5; --bgwk-ok: #1f7a3d; --bgwk-warn: #9a5b00; --bgwk-bad: #b3261e; --bgwk-line: #dfe3e8; --bgwk-soft: #f5f7f9; color: #1d2733; font-size: 16px; line-height: 1.5; text-align: left; }
.bgwk *, .bgwk *::before, .bgwk *::after { box-sizing: border-box; }
.bgwk h2, .bgwk h3, .bgwk h4 { margin: 1.2em 0 .5em; padding: 0; font-weight: 700; line-height: 1.25; text-transform: none; letter-spacing: 0; color: #10202b; }
.bgwk h2 { font-size: 1.55em; margin-top: .2em; } .bgwk h3 { font-size: 1.2em; } .bgwk h4 { font-size: 1.02em; }
.bgwk p { margin: 0 0 .8em; } .bgwk a { color: var(--bgwk-accent); text-decoration: underline; text-underline-offset: 2px; }
.bgwk ul, .bgwk ol { margin: 0 0 .8em 1.3em; padding: 0; } .bgwk ul { list-style: disc; } .bgwk ol { list-style: decimal; } .bgwk li { margin: 0 0 .2em; padding: 0; }
.bgwk [hidden] { display: none !important; }
.bgwk-muted, .bgwk-hint { color: #5a6672; font-size: .92em; }
/* Feldname und Inhalt (0.29.2, überall gleich): Feldname halbfett und schwarz, Inhalt dezenter grau */
.bgwk .bgwk-k { color: #1d2733; font-weight: 600; } .bgwk-v { color: #5a6672; } .bgwk-hint { margin-top: .3em; }
.bgwk small { font-weight: 400; color: #5a6672; }

/* Hinweise */
.bgwk-note { margin: 0 0 1em; padding: .7em 1em; border: 1px solid var(--bgwk-line); border-left: 5px solid var(--bgwk-accent); border-radius: 6px; background: #f3f8fc; }
.bgwk-note p:last-child, .bgwk-note ul:last-child { margin-bottom: 0; }
.bgwk-note-ok { border-left-color: var(--bgwk-ok); background: #f1f8f3; } .bgwk-note-warn { border-left-color: #d98a00; background: #fff8e8; }
.bgwk-note-bad { border-left-color: var(--bgwk-bad); background: #fdf1f0; } .bgwk-note-test { border-left-color: #7a3cc2; background: #f6f0fc; }

/* Menü innerhalb der Seite (außerhalb des Dashboards) */
.bgwk-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1.2em; padding: 0 0 .8em; border-bottom: 2px solid var(--bgwk-line); }
.bgwk-nav a { padding: .45em .85em; border-radius: 6px; background: var(--bgwk-soft); color: #26333d; font-weight: 600; text-decoration: none; }
.bgwk-nav a:hover { background: #e6eef5; } .bgwk-nav a.is-active { background: var(--bgwk-accent); color: #fff; }

/* Knöpfe */
.bgwk .bgwk-btn { display: inline-block; min-height: 40px; margin: 0; padding: .5em 1em; border: 1px solid #b8c2cc; border-radius: 6px; background: #fff; color: #1d2733; font: inherit; font-weight: 600; line-height: 1.3; text-decoration: none; text-transform: none; letter-spacing: 0; cursor: pointer; box-shadow: none; width: auto; height: auto; }
.bgwk .bgwk-btn:hover { background: var(--bgwk-soft); border-color: #8a97a5; color: #10202b; }
.bgwk .bgwk-btn:focus-visible, .bgwk input:focus-visible, .bgwk select:focus-visible, .bgwk textarea:focus-visible, .bgwk summary:focus-visible, .bgwk a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }
.bgwk .bgwk-btn-ok { background: var(--bgwk-ok); border-color: var(--bgwk-ok); color: #fff; } .bgwk .bgwk-btn-ok:hover { background: #17612f; border-color: #17612f; color: #fff; }
.bgwk .bgwk-btn-bad { background: #fff; border-color: var(--bgwk-bad); color: var(--bgwk-bad); } .bgwk .bgwk-btn-bad:hover { background: var(--bgwk-bad); color: #fff; }
.bgwk .bgwk-btn-small { min-height: 32px; padding: .25em .7em; font-size: .9em; white-space: nowrap; } .bgwk .bgwk-btn-big { min-height: 46px; padding: .65em 1.4em; font-size: 1.05em; }
.bgwk form.bgwk-inline { display: inline; margin: 0; }
.bgwk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: .7em 0 0; } .bgwk td.bgwk-actions { margin: 0; }

/* Marken */
.bgwk-badge { display: inline-block; padding: .1em .6em; border-radius: 999px; background: #e8edf2; color: #26333d; font-size: .85em; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.bgwk-badge-ok { background: #dff3e5; color: #135a2a; } .bgwk-badge-warn { background: #ffecc2; color: #6b3f00; } .bgwk-badge-bad { background: #fbdcd9; color: #8a1c15; }
.bgwk-badge-info { background: #dcecf8; color: #114a70; } .bgwk-badge-grey { background: #e8edf2; color: #45525e; }
.bgwk-dot { display: inline-block; width: .8em; height: .8em; border-radius: 50%; vertical-align: baseline; }

/* Felder */
.bgwk input[type=text], .bgwk input[type=search], .bgwk input[type=email], .bgwk input[type=number], .bgwk input[type=date], .bgwk input[type=datetime-local], .bgwk select, .bgwk textarea { max-width: 100%; min-height: 40px; margin: 0; padding: .4em .6em; border: 1px solid #8a97a5; border-radius: 6px; background: #fff; color: #1d2733; font: inherit; font-size: 16px; line-height: 1.3; box-shadow: none; width: auto; height: auto; }
.bgwk textarea { width: 100%; min-height: 0; } .bgwk input[type=checkbox] { width: 1.1em; height: 1.1em; margin: 0 .3em 0 0; vertical-align: -2px; }
.bgwk label { font-weight: 600; } .bgwk-checks label, .bgwk-line label, .bgwk-filter label { font-weight: 400; }

/* Werkzeugleiste, Suche */
.bgwk-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 1em; }
.bgwk-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; }
.bgwk-search { display: flex; flex: 1 1 320px; flex-wrap: wrap; align-items: center; gap: 8px; } .bgwk-search input[type=search] { flex: 1 1 220px; }
.bgwk-count { color: #5a6672; font-size: .92em; white-space: nowrap; }
.bgwk-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: .6em 0; } .bgwk-line input[type=text] { flex: 1 1 260px; }

/* Kurskarten */
.bgwk-list { display: grid; gap: 12px; }
.bgwk-card { padding: 16px 18px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff; }
.bgwk-card > header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 12px; }
.bgwk-card > header h3, .bgwk-card > header h2 { margin: 0; } .bgwk-card > header h3 a { color: #10202b; text-decoration: none; } .bgwk-card > header h3 a:hover { text-decoration: underline; }
.bgwk-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
/* Favoriten (0.39.0): Sternchen rechts oben an Kursen, Filter „nur Favoriten“ */
.bgwk .bgwk-favform { display: inline; margin: 0; }
.bgwk .bgwk-fav { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; margin: -6px -6px -6px 0; padding: 0 4px; border: 0; border-radius: 6px; background: none; box-shadow: none; color: #8a97a5; font-size: 1.45em; line-height: 1; cursor: pointer; }
.bgwk .bgwk-fav:hover, .bgwk .bgwk-fav:focus-visible { background: var(--bgwk-soft); color: #b07d00; }
.bgwk .bgwk-fav.is-on { color: #d9a400; }
.bgwk .bgwk-fav:disabled { opacity: .6; cursor: progress; }
.bgwk .bgwk-favnur span { color: #d9a400; }
.bgwk .bgwk-favhin { margin: .2em 0 .4em; font-size: .9em; color: var(--bgwk-warn); }
.bgwk-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 2px 18px; margin: .5em 0 .3em; padding: 0; }
.bgwk-meta div { margin: 0; } .bgwk-meta dt { display: inline; margin: 0; color: #1d2733; font-weight: 600; } .bgwk-meta dt::after { content: ': '; } .bgwk-meta dd { display: inline; margin: 0; color: #5a6672; }
.bgwk-fillrow { margin: .3em 0 0; } .bgwk-fill { color: #45525e; font-weight: 600; } .bgwk-fill.is-full { color: var(--bgwk-bad); }
.bgwk details { margin: .5em 0 0; } .bgwk summary { cursor: pointer; font-weight: 600; color: var(--bgwk-accent); }
/* Erklärungen (0.32.0): eingeklappt, überall gleich, Schrift der Seite */
.bgwk details.bgwk-erkl { margin: .1em 0 .9em; } .bgwk .bgwk-erkl > summary { display: inline-block; font-size: .92em; }
.bgwk .bgwk-erkl-in { margin: .4em 0 0; padding: .55em .9em; border-left: 3px solid var(--bgwk-line); border-radius: 0 6px 6px 0; background: var(--bgwk-soft); color: #1d2733; font: inherit; font-size: .95em; line-height: 1.5; }
.bgwk .bgwk-erkl-in p { margin: 0 0 .45em; } .bgwk .bgwk-erkl-in p:last-child, .bgwk .bgwk-erkl-in ul:last-child { margin-bottom: 0; } .bgwk .bgwk-erkl-in ul { margin: 0 0 .45em 1.2em; padding: 0; } .bgwk .bgwk-erkl-in li { margin: 0 0 .25em; }
/* Themen in Erklärungen (0.35.0): Index untereinander, jedes Thema klappt einzeln auf */
.bgwk .bgwk-erkl-themen > .bgwk-erkl-in { padding: .35em .9em .45em; }
.bgwk details.bgwk-thema { margin: 0; border-bottom: 1px solid var(--bgwk-line); } .bgwk details.bgwk-thema:last-child { border-bottom: 0; }
.bgwk .bgwk-thema > summary { cursor: pointer; padding: .3em 0; font-weight: 600; color: #1d2733; list-style-position: inside; }
.bgwk .bgwk-thema[open] > summary { color: var(--bgwk-accent, #1d2733); }
.bgwk .bgwk-thema-in { padding: .1em 0 .6em 1.1em; }
.bgwk .bgwk-thema-in p { margin: 0 0 .45em; } .bgwk .bgwk-thema-in > :last-child { margin-bottom: 0; }
.bgwk .bgwk-thema-in ul, .bgwk .bgwk-thema-in ol { margin: 0 0 .45em 1.2em; padding: 0; } .bgwk .bgwk-thema-in li { margin: 0 0 .25em; }
.bgwk .bgwk-erkl-intro { padding: .2em 0 .4em; border-bottom: 1px solid var(--bgwk-line); } .bgwk .bgwk-erkl-intro p { margin: 0 0 .35em; }
.bgwk .bgwk-thema-in h5 { margin: .5em 0 .2em; font-size: 1em; font-weight: 600; }
.bgwk-facts { list-style: none !important; margin: .5em 0 0 !important; border: 1px solid var(--bgwk-line); border-radius: 6px; } .bgwk-facts li { margin: 0; padding: .4em .7em; border-top: 1px solid var(--bgwk-line); color: #5a6672; } .bgwk-facts li > strong { color: #1d2733; font-weight: 600; } .bgwk-facts li:first-child { border-top: 0; }
.bgwk-single { margin-bottom: 1em; } .bgwk-text p:last-child { margin-bottom: 0; }
.bgwk-confirm { max-width: 720px; } .bgwk-confirm form { margin-top: 1em; }
.bgwk-empty { color: #5a6672; }

/* Start */
.bgwk-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 0 0 1em; }
.bgwk .bgwk-tile { display: block; padding: 14px 16px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: var(--bgwk-soft); color: #1d2733; text-decoration: none; }
.bgwk .bgwk-tile:hover { border-color: var(--bgwk-accent); background: #eaf2f8; } .bgwk-tile strong { display: block; font-size: 1.08em; } .bgwk-tile span { color: #45525e; font-size: .93em; }
.bgwk-tiles .bgwk-note { grid-column: 1 / -1; margin: 0; }
.bgwk-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)); gap: 8px; margin: 0 0 1.2em; }   /* sieben Kacheln in einer Zeile ab etwa 950 px Breite (Menüspalte 210 px) */
.bgwk .bgwk-stat { display: block; min-width: 0; padding: 8px 10px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff; color: #1d2733; text-decoration: none; }
.bgwk-stat strong { display: block; font-size: 1.5em; line-height: 1.2; } .bgwk-stat span { display: block; color: #45525e; font-size: .84em; line-height: 1.3; overflow-wrap: break-word; }
.bgwk-stat.is-warn { border-color: #d98a00; background: #fff8e8; } .bgwk-stat.is-bad { border-color: var(--bgwk-bad); background: #fdf1f0; } .bgwk a.bgwk-stat:hover { border-color: var(--bgwk-accent); }

/* Tabellen */
/* Auslastung (0.11.5): Zahlenspalten schmal, Überschriften senkrecht (von unten nach oben), jede zweite Zahlenspalte leicht grau. Nur am Schreibtisch; am Handy sind es Karten. */
@media (min-width: 681px) {
  .bgwk-auslastung thead th { vertical-align: bottom; }
  .bgwk-auslastung th.bgwk-zahl { vertical-align: bottom; padding: .6em .35em; text-align: center; }
  .bgwk-auslastung th.bgwk-zahl .bgwk-senk { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
  .bgwk .bgwk-auslastung th.bgwk-zahl .bgwk-sortbtn { flex-direction: column; gap: 3px; }
  .bgwk-auslastung td.bgwk-zahl { width: 1%; padding-left: .5em; padding-right: .5em; text-align: center; white-space: nowrap; }
  .bgwk-auslastung .bgwk-zahl.is-alt { background: #f1f3f5; }
  .bgwk-auslastung thead th.bgwk-zahl.is-alt { background: #e6e9ed; }
}
.bgwk-badge.bgwk-badge-2z { white-space: normal; border-radius: 8px; padding: .2em .6em; line-height: 1.3; }

/* Breite Tabellen scrollen seitlich in ihrem eigenen Bereich, statt rechts aus dem Inhalt zu ragen (Menüspalte der Dashboard-Navigation, 0.11.4).
   contain: inline-size (0.13.2): Edge Membership baut das Dashboard unter 1025 px als Tabelle mit automatischer Spaltenbreite; ohne
   diese Angabe wuchs die Inhaltsspalte auf die Breite der Tabelle, der Bereich scrollte nie, und rechts schnitt das Theme
   (body overflow-x: hidden) ab – so am Handy in der Desktop-Ansicht. Jetzt zählt die Tabelle nicht mehr zur Breite der Spalte. */
.bgwk-scroll, .bgwk-mailvorschau { contain: inline-size; }
.bgwk-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1em; }
.bgwk-scroll > table.bgwk-table { margin-bottom: 0; }
.bgwk table.bgwk-table { width: 100%; margin: 0 0 1em; border: 1px solid var(--bgwk-line); border-collapse: collapse; background: #fff; font-size: .96em; }
.bgwk-table th, .bgwk-table td { padding: .5em .7em; border: 0; border-top: 1px solid var(--bgwk-line); text-align: left; vertical-align: top; }
.bgwk-table thead th { border-top: 0; background: var(--bgwk-soft); font-weight: 700; white-space: nowrap; }
.bgwk-table tr.is-off td { opacity: .6; } .bgwk-table tr.bgwk-limit td { padding: .25em .7em; background: #fdf1f0; border-top: 3px solid var(--bgwk-bad); color: #8a1c15; font-size: .88em; font-weight: 600; }
.bgwk-tn { list-style: none !important; margin: .4em 0 .5em !important; } .bgwk-tn li { padding: .15em 0; }
/* Sortierbare Tabellen (table.bgwk-sortierbar, kurs.js): Kopfzellen werden zu Knöpfen mit Pfeil; ohne JavaScript bleiben sie Text */
.bgwk .bgwk-sortbtn { display: inline-flex; align-items: center; gap: .3em; min-height: 0; width: auto; height: auto; margin: 0; padding: 0; border: 0; border-radius: 3px; background: transparent; color: inherit; font: inherit; font-weight: inherit; line-height: inherit; text-align: inherit; text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer; box-shadow: none; }
.bgwk .bgwk-sortbtn:hover, .bgwk .bgwk-sortbtn:focus { background: transparent; color: var(--bgwk-accent); box-shadow: none; }
.bgwk-sortpfeil { flex: none; color: #8a97a5; font-size: .8em; font-weight: 400; line-height: 1; } .bgwk-sortpfeil::before { content: '\2195'; }
.bgwk th[aria-sort] .bgwk-sortpfeil { color: var(--bgwk-accent); } .bgwk th[aria-sort=ascending] .bgwk-sortpfeil::before { content: '\25B2'; } .bgwk th[aria-sort=descending] .bgwk-sortpfeil::before { content: '\25BC'; }
/* Summenzeile (tfoot) und Zahlenspalten, z. B. „Fehlen“ in der Liste der Schüler:innen */
.bgwk-table tfoot td { border-top: 2px solid #b8c2cc; background: var(--bgwk-soft); font-weight: 700; }
.bgwk-table td.is-fehlt { color: var(--bgwk-bad); font-weight: 700; }
@media (min-width: 681px) { .bgwk-table th.bgwk-num, .bgwk-table td.bgwk-num { text-align: center; white-space: nowrap; } .bgwk-schuelerliste td[data-label="Kurse"] > details > summary { white-space: nowrap; } }
.bgwk-legend { color: #45525e; font-size: .9em; }
.bgwk-box { margin: 0 0 1.2em; padding: 14px 18px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff; } .bgwk-box > h3:first-child { margin-top: 0; }
.bgwk-hinweise { margin: .5em 0; font-size: .95em; } .bgwk-hinweise ul, ul.bgwk-hinweise { margin: .3em 0 .6em 1.2em; }
.bgwk-cluster { margin: 0 0 1.5em; padding: 16px 18px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: var(--bgwk-soft); }
.bgwk-cluster > header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } .bgwk-cluster > header h3 { margin: 0; }

/* Kursformular */
.bgwk-kursform .bgwk-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 6px 18px; margin: 0 0 14px; }
.bgwk-label { padding-top: .45em; font-weight: 600; } .bgwk-field input[type=text] { width: 100%; }
.bgwk-checks-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 2px 14px; max-height: 230px; overflow: auto; padding: 8px 10px; border: 1px solid #8a97a5; border-radius: 6px; background: #fff; }
.bgwk-checks.has-filter input[type=search] { width: 100%; margin-bottom: 6px; }
.bgwk .bgwk-vorliste { margin: 0 0 .45em; } .bgwk .bgwk-fest { margin: .35em 0 0; }
.bgwk-zeitregel { margin: .5em 0 0; padding: .4em .7em; border-left: 4px solid #d98a00; background: #fff8e8; }
.bgwk-themen { display: grid; gap: 6px; margin-bottom: 6px; } .bgwk-themen input { width: 100%; }
.bgwk .wp-editor-wrap { max-width: 100%; } .bgwk .wp-editor-container { border: 1px solid #8a97a5; } .bgwk .mce-toolbar .mce-btn button { min-height: 0; }
.bgwk-stammform { display: grid; gap: 8px; max-width: 520px; margin: .6em 0 1em; } .bgwk-stammform label { display: grid; gap: 3px; } .bgwk-add { margin-top: .4em; }
.bgwk fieldset { margin: 0 0 1em; padding: 12px 16px; border: 1px solid var(--bgwk-line); border-radius: 10px; } .bgwk legend { padding: 0 .4em; font-weight: 700; } .bgwk-zeitform label { margin-right: 14px; font-weight: 400; }

/* Reiter */
.bgwk-tabs { display: inline-flex; border: 1px solid #b8c2cc; border-radius: 8px; overflow: hidden; }
.bgwk .bgwk-tab { min-height: 40px; margin: 0; padding: .45em 1.1em; border: 0; border-right: 1px solid #b8c2cc; border-radius: 0; background: #fff; color: #26333d; font: inherit; font-weight: 600; text-transform: none; letter-spacing: 0; cursor: pointer; }
.bgwk .bgwk-tab:last-child { border-right: 0; } .bgwk .bgwk-tab.is-active { background: var(--bgwk-accent); color: #fff; }
.bgwk-check { font-weight: 400; } .bgwk-wahl-filter .bgwk-check { white-space: nowrap; }

/* Kurswahl */
.bgwk-auswahl { margin: 0 0 1.2em; padding: 14px 16px; border: 2px solid var(--bgwk-accent); border-radius: 10px; background: #f6fafd; } .bgwk-auswahl h3 { margin-top: 0; }
.bgwk-auswahl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
.bgwk-auswahl-sem h4 { margin: 0 0 .4em; cursor: pointer; } .bgwk-auswahl-sem.is-active h4 { color: var(--bgwk-accent); }
.bgwk ol.bgwk-sort { list-style: none; margin: 0; padding: 0; }
.bgwk-sort-item { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; padding: 6px 8px; border: 1px solid var(--bgwk-line); border-radius: 8px; background: #fff; }
.bgwk-sort-item.is-first-reserve { margin-top: 14px; position: relative; } .bgwk-sort-item.is-first-reserve::before { content: 'Reserve'; position: absolute; top: -13px; left: 0; right: 0; border-top: 2px dashed #b8c2cc; color: #5a6672; font-size: .72em; line-height: 1; text-align: right; }
.bgwk-sort-item.is-konflikt { border-color: var(--bgwk-bad); background: #fdf1f0; } .bgwk-zugleich { display: block; color: #5a6672; font-size: .85em; } .is-konflikt .bgwk-zugleich { color: var(--bgwk-bad); font-weight: 600; }
.bgwk-konflikt-hinweis { margin: 0 0 .5em; padding: .4em .7em; border-left: 4px solid var(--bgwk-bad); background: #fdf1f0; color: #8a1c15; font-size: .92em; }
.bgwk-sort-item.is-dragging { border-color: var(--bgwk-accent); box-shadow: 0 4px 14px rgba(0,0,0,.18); opacity: .92; }
.bgwk .bgwk-grip { flex: none; width: 34px; height: 40px; min-height: 0; padding: 0; border: 0; background: transparent; color: #8a97a5; font-size: 20px; line-height: 1; cursor: grab; touch-action: none; }
.bgwk-sort-nr { flex: none; width: 1.7em; height: 1.7em; border-radius: 50%; background: var(--bgwk-accent); color: #fff; font-weight: 700; line-height: 1.7em; text-align: center; }
.bgwk-sort-t { flex: 1; min-width: 0; } .bgwk-sort-btns { flex: none; display: flex; gap: 2px; }
.bgwk .bgwk-sort-btns button { width: 36px; height: 36px; min-height: 0; padding: 0; border: 1px solid #b8c2cc; border-radius: 6px; background: #fff; color: #26333d; font-size: 13px; cursor: pointer; } .bgwk .bgwk-sort-btns button:disabled { opacity: .3; cursor: default; }
.bgwk-wahl-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 1em; } .bgwk-wahl-filter input[type=search] { flex: 1 1 240px; }
.bgwk details.bgwk-mehr { flex: 1 1 100%; margin: 0; } .bgwk-mehr-in { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.bgwk-list > * { min-width: 0; }
.bgwk-wk.is-picked { border-color: var(--bgwk-ok); box-shadow: inset 4px 0 0 var(--bgwk-ok); }
.bgwk .bgwk-btn-picked { background: #dff3e5; border-color: var(--bgwk-ok); color: #135a2a; } .bgwk .bgwk-btn:disabled { opacity: .5; cursor: not-allowed; }
.bgwk-vor { display: grid; gap: 4px; } .bgwk-rangliste li { margin-bottom: .35em; }
.bgwk-wahl-bar { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 1em; padding: 10px 14px; border: 1px solid var(--bgwk-line); border-radius: 10px 10px 0 0; background: #fff; box-shadow: 0 -4px 14px rgba(0,0,0,.08); }
.bgwk .bgwk-tile-main { border-color: var(--bgwk-ok); background: #f1f8f3; }

.bgwk .bgwk-savestate ul { margin: .3em 0 0 1.2em; }

/* E-Mail-Versand */
.bgwk fieldset.bgwk-wer { margin: 0 0 1em; padding: .6em 1em; border: 1px solid var(--bgwk-line); border-radius: 8px; } .bgwk-wer legend { padding: 0 .4em; font-weight: 700; }
.bgwk-wer-opt { margin: .25em 0; } .bgwk-wer-liste { margin: .3em 0 .6em 1.7em; } .bgwk-wer-liste .bgwk-checks-list { max-height: 220px; }
.bgwk-mailvorschau { margin: 0 0 1em; padding: 14px 16px; border: 1px solid var(--bgwk-line); border-radius: 8px; background: #fff; overflow-x: auto; }
.bgwk .bgwk-mailkopf { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--bgwk-line); }
.bgwk-mailjob progress { width: 100%; height: 18px; margin: 0 0 .6em; } .bgwk .bgwk-btn:disabled { opacity: .5; cursor: default; }
/* Versandprotokoll: je Lauf ein aufklappbarer Eintrag, darin Angaben, Textvorlage und die Empfänger:innen mit Text */
.bgwk details.bgwk-lauf { margin: 0; padding: .55em .2em; border-top: 1px solid var(--bgwk-line); } .bgwk details.bgwk-lauf:first-of-type { border-top: 0; }
.bgwk details.bgwk-lauf > summary { font-weight: 400; color: #1d2733; } .bgwk-lauf-zeit { font-weight: 700; white-space: nowrap; }
.bgwk-lauf-zahlen { display: inline-flex; flex-wrap: wrap; gap: 4px; vertical-align: middle; }
.bgwk-lauf .bgwk-facts { margin: .5em 0 .6em !important; font-size: .93em; } .bgwk-lauf-empf { margin-top: .6em; }
.bgwk pre.bgwk-mailtext { margin: .4em 0 0; padding: .6em .8em; max-height: 24em; overflow: auto; border: 1px solid var(--bgwk-line); border-radius: 6px; background: var(--bgwk-soft); color: #1d2733; font: inherit; font-size: .88em; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.bgwk-lauf-filter input[type=search] { width: 100%; max-width: 360px; } .bgwk-empf td:nth-child(5) { min-width: 12em; }

/* Planung (Verwaltung, für den Schreibtisch) */
.bgwk-plan.is-busy { opacity: .6; pointer-events: none; }
/* Alles optimieren (0.37.0): Fortschritt mit „Abbrechen“ bleibt bedienbar, Regler „Läufe“ schmal neben dem Knopf */
.bgwk-plan.is-busy .bp-optlauf { pointer-events: auto; }
.bp-dd.bp-dd-opt { display: flex; } .bp-dd-opt > summary { margin: 0; }
.bp-dd-opt .bp-dd-m { gap: 6px; min-width: 260px; padding: 10px 12px; }
.bp-dd-opt small { display: block; text-align: left; font-size: 12px; color: #5b6875; line-height: 1.35; }
.bp-optn { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #1d2733; }
.bp-optn input[type=range] { flex: 1; margin: 0; } .bp-optn span { min-width: 2.2em; text-align: right; }
/* Vollbild: eigene Ebene direkt unter <body> (plan.js hängt die Planung dorthin um), damit sie über dem Menü der Website liegt */
.bgwk.bgwk-voll { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2147483000; margin: 0; padding: 12px 16px 40px; max-width: none; overflow: auto; overscroll-behavior: contain; background: #f0f2f5; }
html.bgwk-plan-voll, html.bgwk-plan-voll body { overflow: hidden !important; }
/* Kopfzeile, Feld der ausgewählten Person und linke Spalte kleben beim Scrollen (in der Vollbild-Ebene bzw. im Fenster) untereinander.
   plan.js misst die Höhe der Kopfzeile (--bp-bar) und des Felds samt 6 px Abstand (--bp-person; ohne Feld 0); die Werte darunter
   gelten nur, bis das Skript gemessen hat. */
.bp-bar { position: sticky; top: 0; z-index: 6; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; padding: 8px 10px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bp-spacer { flex: 1; } .bp-bar input[type=search] { width: 220px; } .bgwk .bp-bar .bgwk-btn:disabled { opacity: .45; cursor: default; }
.bp-stand { font-size: .9em; color: var(--bgwk-ok); white-space: nowrap; } .bp-stand.is-dirty { padding: 2px 10px; border-radius: 999px; background: #ffe2b0; color: #7a4300; font-weight: 700; }
/* Varianten der Planung (0.14.0): Zeile unter der Kopfzeile, scrollt mit (klebt nicht) */
.bp-var { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 10px; padding: 6px 10px; border: 1px dashed var(--bgwk-line); border-radius: 10px; background: #fafafa; font-size: .93em; }
.bp-var select { max-width: 32em; } .bp-var-akt { color: #5b3a8c; font-style: italic; } .bgwk .bp-var .bgwk-btn.is-disabled { opacity: .45; cursor: not-allowed; }
.bp-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; font-size: .93em; }
.bgwk .bp-statgrp { flex: 1 1 260px; min-width: 0; padding: 6px 10px 7px; border: 1px solid var(--bgwk-line); border-radius: 6px; background: var(--bgwk-soft); }
.bgwk .bp-statlbl { display: block; margin: 0 0 3px; font-size: .78em; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #50575e; }
.bgwk .bp-statwerte { display: flex; flex-wrap: wrap; gap: 2px 16px; } .bp-red { color: var(--bgwk-bad); } .bp-orange { color: #b25f00; } .bp-green { color: var(--bgwk-ok); }
/* Feld der ausgewählten Person: kompakt (Kopfzeile in einer Reihe, Wünsche umbrechend, ab gut zwei Reihen scrollt die Liste in sich),
   eingeklappt (is-zu) nur eine Reihe. Es legt sich über die Kurse, die darunter durchscrollen, nie über die linke Spalte. */
.bp-person { position: sticky; top: calc(var(--bp-bar, 58px) + 6px); z-index: 5; margin: 0 0 10px; padding: 5px 10px 6px; border: 2px solid #7a3cc2; border-radius: 10px; background: #f8f3fd; box-shadow: 0 2px 8px rgba(0,0,0,.1); line-height: 1.5; }
.bp-person.is-zu { padding-top: 3px; padding-bottom: 3px; }
.bp-pkopf { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; min-height: 30px; }
.bp-pname { min-width: 0; overflow-wrap: anywhere; } .bp-pzahl { font-size: .92em; } .bp-pzahl.is-fehlt b { color: var(--bgwk-bad); }
.bgwk .bp-pbtn { min-height: 28px; width: auto; height: auto; margin: 0; padding: 0 10px; border: 1px solid #c9b8e3; border-radius: 6px; background: #fff; color: #4a2380; font: inherit; font-size: .85em; font-weight: 600; line-height: 1.3; text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer; box-shadow: none; }
.bgwk .bp-pbtn:hover { border-color: #7a3cc2; background: #efe5fa; color: #4a2380; } .bgwk .bp-px { min-width: 30px; padding: 0 6px; font-size: .95em; }
.bp-pw { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; max-height: 4.6em; margin-top: 4px; padding-top: 4px; border-top: 1px solid #e3d6f3; overflow-y: auto; }
.bp-plabel { color: #1d2733; font-weight: 600; font-size: .85em; } .bp-person .bp-w { margin: 0; white-space: normal; } .bgwk .bp-person .bp-go { margin-left: 0; }
.bp-w { display: inline-block; margin: 0 6px 0 0; padding: 0 8px; border: 1px solid #c9b8e3; border-radius: 999px; background: #fff; font-size: .9em; white-space: nowrap; } .bp-w.is-sitz { border-color: var(--bgwk-ok); background: #dff3e5; } .bp-w.is-ab { color: #8a97a5; text-decoration: line-through; }
.bgwk .bp-w button, .bgwk .bp-go { min-height: 0; margin: 0 0 0 2px; padding: 0 6px; border: 1px solid #b8c2cc; border-radius: 999px; background: #fff; color: #26333d; font: inherit; font-size: .85em; line-height: 1.5; text-transform: none; letter-spacing: 0; cursor: pointer; }
.bgwk .bp-go { margin-left: auto; border-color: var(--bgwk-accent); color: var(--bgwk-accent); white-space: nowrap; } .bgwk .bp-go:hover { background: var(--bgwk-accent); color: #fff; }
.bp-main { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 14px; align-items: start; }
.bp-offen { position: sticky; top: calc(var(--bp-bar, 58px) + 6px + var(--bp-person, 0px)); max-height: calc(100vh - var(--bp-bar, 58px) - var(--bp-person, 0px) - 26px); overflow: auto; padding: 10px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff8e8; }
.bgwk .bp-offen > h4 { margin: 1.1em 0 .1em; padding-top: .7em; border-top: 1px solid #ead9b0; } .bgwk .bp-offen > h4:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.bgwk .bp-hin { margin: 0 0 .5em; color: #5a6672; font-size: .82em; line-height: 1.35; } .bgwk .bp-hin-wichtig { padding: 6px 8px; border-radius: 6px; background: #fff; color: #1d2733; }
.bp-offen.is-dropover { box-shadow: inset 0 0 0 3px var(--bgwk-bad); } .bp-offen .bp-sitze { padding: 0; min-height: 0; }
.bp-abliste .bp-kurs { margin: 0 0 8px; } .bp-abliste .bp-kurs > header { padding: 6px 8px; } .bp-anm { font-size: .82em; color: #45525e; }
.bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; align-items: start; }
.bp-kurs { border: 2px solid var(--bgwk-line); border-radius: 10px; background: #fff; overflow: hidden; }
.bp-kurs > header { padding: 8px 10px 6px; background: var(--bgwk-soft); } .bgwk .bp-kurs h4 { margin: 2px 0 0; font-size: 1em; } .bp-kurs h4 a { color: #10202b; text-decoration: none; }
.bp-toggle { float: right; margin-left: 8px; font-size: .8em; font-weight: 400; color: #45525e; white-space: nowrap; } .bp-sub { color: #5a6672; font-size: .82em; } .bp-zahl { font-size: .86em; }
.bgwk .bp-kurs .bp-zahl input.bp-maxin[type="number"] { width: 3.6em; min-height: 0; height: 1.8em; padding: 0 2px; margin: 0 2px; font: inherit; font-size: inherit; line-height: 1.2; font-weight: 600; text-align: center; border: 1px solid #b8c0c8; border-radius: 4px; background: #fff; vertical-align: baseline; }
.bp-wish { margin-left: 4px; padding: 0 6px; border-radius: 999px; background: #7a3cc2; color: #fff; font-size: .9em; font-weight: 600; }
.bp-meter { position: relative; height: 8px; margin: 6px 0 3px; border-radius: 4px; background: #dfe3e8; } .bp-fill { height: 100%; border-radius: 4px; background: var(--bgwk-ok); } .bp-min { position: absolute; top: -3px; bottom: -3px; width: 2px; background: #10202b; }
.bp-kurs.is-full { border-color: #9cc9aa; }
.bp-kurs.is-over { border-color: var(--bgwk-bad); } .bp-kurs.is-over > header { background: #fbdcd9; } .bp-kurs.is-over .bp-fill { background: var(--bgwk-bad); }
.bp-kurs.is-under { border-color: #d98a00; } .bp-kurs.is-under > header { background: #ffecc2; } .bp-kurs.is-under .bp-fill { background: #d98a00; }
.bp-kurs.is-ab { border-style: dashed; border-color: #8a97a5; } .bp-kurs.is-ab > header { background: #e8edf2; } .bp-kurs.is-ab h4 a { text-decoration: line-through; color: #5a6672; }
.bp-kurs.is-target { box-shadow: 0 0 0 3px rgba(122,60,194,.35); } .bgwk-plan.is-dragging .bp-kurs.is-wish { box-shadow: 0 0 0 3px rgba(31,122,61,.45); } .bp-kurs.is-dropover { background: #eaf6ee; box-shadow: 0 0 0 3px var(--bgwk-ok) !important; }
.bgwk ul.bp-sitze { list-style: none; margin: 0; padding: 6px; min-height: 34px; }
.bp-chip { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 5px; margin: 0 0 3px; padding: 2px 6px; border: 1px solid var(--bgwk-line); border-radius: 6px; background: #fff; font-size: .88em; line-height: 1.5; cursor: grab; user-select: none; }
.bp-chip:hover { border-color: #8a97a5; } .bp-chip.is-sel { border-color: #7a3cc2; background: #f1e8fb; } .bp-chip.is-over { border-color: var(--bgwk-bad); background: #fdf1f0; } .bp-chip.is-koll { border-color: #d98a00; background: #fff8e8; } .bp-chip.is-fremd .bp-n { font-style: italic; }
.bp-r { flex: none; min-width: 1.6em; color: #5a6672; font-size: .86em; font-weight: 700; text-align: right; } .bp-n { flex: 0 1 auto; min-width: 6.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bp-kl { color: #5a6672; font-size: .86em; }
.bp-cl { padding: 0 4px; border-radius: 3px; background: #dcecf8; color: #114a70; font-size: .78em; font-weight: 700; } .bp-fehlt { color: var(--bgwk-bad); font-weight: 700; } .bp-lock, .bp-warn { font-size: .85em; }
.bp-clg { padding: 0 4px; border-radius: 3px; background: #fde7c8; color: #8a4b00; font-size: .78em; font-weight: 700; }
.bgwk .bp-clgef summary { cursor: pointer; font-weight: 600; } .bgwk .bp-clgef ul { margin: .4em 0 0 1.2em; padding: 0; } .bgwk .bp-clgef li { margin: .15em 0; }
.bgwk .bp-linkbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; min-height: 0; text-transform: none; letter-spacing: normal; }
.bgwk .bp-gefp { margin: .3em 0; color: #8a4b00; font-size: .9em; }
/* Gründe für nicht bekommene Wünsche (0.46.0) */
.bgwk .bp-grund { margin-top: .35em; font-size: .9em; }
.bgwk td.bgwk-grund { font-size: .88em; min-width: 14em; color: var(--bgwk-muted, #5b6672); }
.bgwk .bp-grund > summary, .bgwk .bp-grundzelle summary { cursor: pointer; }
.bgwk .bp-grundzelle details[open] > summary { margin-bottom: .2em; }
.bgwk .bp-grund ul { margin: .15em 0 0 1.1em; padding: 0; list-style: disc; }
.bgwk .bp-grund li { margin: .1em 0; }
.bgwk .bp-grundzelle { font-size: .88em; min-width: 16em; }
.bgwk .bp-pruef-cl { margin: .4em 0; }
.bgwk tr.is-clnicht td:first-child { box-shadow: inset 3px 0 0 #b25f00; }
.bgwk .bp-clnicht { font-size: .88em; }
.bp-leer { padding: 4px 6px; color: #8a97a5; font-size: .85em; font-style: italic; }
.bp-rest { margin: 0; padding: 0 6px 6px; border-top: 1px dashed var(--bgwk-line); } .bgwk .bp-rest summary { font-size: .84em; font-weight: 400; color: #5a6672; } .bp-wart .bp-chip { background: var(--bgwk-soft); border-style: dashed; }

/* Ohne Berechtigung (Leserolle, Häkchen „ändern“ fehlt, Seite nicht freigegeben): ausgegraut, nicht anklickbar.
   Steht nach allen Knopf-Varianten, damit Grün/Rot nicht durchschlagen. Die Server-Prüfungen bleiben davon unberührt. */
.bgwk .bgwk-btn.is-disabled, .bgwk .bgwk-btn.is-disabled:hover, .bgwk .bgwk-btn[disabled], .bgwk .bgwk-btn[disabled]:hover { background: #eef1f4; border-color: #d0d6dc; color: #8a949e; opacity: 1; cursor: not-allowed; box-shadow: none; }
.bgwk .bp-bar .bgwk-btn.is-disabled { opacity: 1; cursor: not-allowed; } .bgwk span.bgwk-btn.is-disabled { user-select: none; }
.bgwk .bgwk-off { color: #8a949e; cursor: not-allowed; }
.bgwk .bgwk-tile.bgwk-off, .bgwk .bgwk-tile.bgwk-off:hover { border-color: #d0d6dc; background: #eef1f4; } .bgwk .bgwk-tile.bgwk-off span { color: #8a949e; }
.bgwk .bgwk-stat.bgwk-off, .bgwk .bgwk-stat.bgwk-off:hover { border-color: #d0d6dc; background: #eef1f4; color: #5a6672; } .bgwk .bgwk-stat.bgwk-off span { color: #8a949e; }
.bgwk .bp-w button:disabled, .bgwk .bp-go:disabled, .bgwk .bp-go:disabled:hover { border-color: #d0d6dc; background: #eef1f4; color: #8a949e; cursor: not-allowed; }
.bgwk .bgwk-grip:disabled { color: #c3cad1; cursor: not-allowed; } .bgwk-plan[data-readonly] .bp-chip { cursor: pointer; } .bp-toggle input:disabled { cursor: not-allowed; }

/* Schmale Bildschirme: Tabellen als Karten, Formular einspaltig, große Tippflächen */
@media (max-width: 680px) {
  .bgwk-line > label, .bgwk-line > select { flex: 1 1 100%; } .bgwk-line > select, .bgwk-line > label > select { width: 100%; }
  .bgwk-kursform .bgwk-row { grid-template-columns: minmax(0, 1fr); } .bgwk-label { padding-top: 0; }
  .bgwk table.bgwk-stack, .bgwk-stack tbody, .bgwk-stack tr, .bgwk-stack td { display: block; width: 100%; }
  .bgwk-stack thead { display: none; } .bgwk table.bgwk-stack { border: 0; background: transparent; }
  .bgwk-stack tr { margin: 0 0 10px; padding: 8px 12px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #fff; }
  .bgwk-stack td { padding: .25em 0; border: 0; } .bgwk-stack td[data-label]::before { content: attr(data-label) ': '; color: #1d2733; font-weight: 600; font-size: .88em; } .bgwk-stack td[data-label] { color: #5a6672; }
  .bgwk-stack td:empty { display: none; } .bgwk-stack tr.bgwk-limit { padding: 4px 12px; }
  .bgwk-stack tfoot { display: block; } .bgwk-stack tfoot tr { background: var(--bgwk-soft); } .bgwk-stack tfoot td { background: transparent; border-top: 0; }
  /* Anmeldeliste eines Kurses: zwei Zeilen je Person statt einer Karte mit fünf */
  .bgwk-stack.bgwk-compact tr { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; margin-bottom: 6px; }
  .bgwk-stack.bgwk-compact td { width: auto; padding: 0; } .bgwk-stack.bgwk-compact td[data-label]::before { content: none; }
  .bgwk-stack.bgwk-compact td:nth-child(1) { grid-row: 1 / span 2; } .bgwk-stack.bgwk-compact td:nth-child(2) { display: none; }
  .bgwk-stack.bgwk-compact td:nth-child(3) { grid-column: 2; grid-row: 1; font-weight: 600; } .bgwk-stack.bgwk-compact td:nth-child(4) { grid-column: 3; grid-row: 1; text-align: right; }
  .bgwk-stack.bgwk-compact td:nth-child(5) { grid-column: 2; grid-row: 2; color: #5a6672; font-size: .88em; } .bgwk-stack.bgwk-compact td:nth-child(6) { grid-column: 3; grid-row: 2; text-align: right; }
  .bgwk-stack.bgwk-compact tr.bgwk-limit { display: block; } .bgwk-stack.bgwk-compact tr.bgwk-limit td { padding: 2px 0; }
  .bgwk .bgwk-btn { min-height: 44px; } .bgwk .bgwk-btn-small { min-height: 40px; }
  .bgwk-actions .bgwk-btn-big, .bgwk-confirm .bgwk-btn { width: 100%; text-align: center; margin-bottom: 6px; }
  .bgwk-card { padding: 14px; }
  .bgwk-auswahl-grid { grid-template-columns: minmax(0, 1fr); } .bgwk-auswahl { padding: 12px; }
  .bgwk-wahl-filter select, .bgwk-wahl-filter input[type=search], .bgwk-wahl-filter .bgwk-tabs { flex: 1 1 100%; width: 100%; } .bgwk-wahl-filter .bgwk-tab { flex: 1; }
  .bgwk-mehr-in > label { flex: 1 1 100%; } .bgwk-wahl-filter input[type=search] { flex: 1 1 60%; width: auto; }
  .bgwk-sort-item { flex-wrap: wrap; } .bgwk-sort-t { flex: 1 1 60%; } .bgwk-sort-btns { flex: 1 1 100%; justify-content: flex-end; }
  .bgwk-wahl-bar .bgwk-btn { width: 100%; }
  /* Planung am Handy (0.15.1): linke Spalte über den Kursen, scrollt mit der Seite statt in sich */
  .bp-main { grid-template-columns: minmax(0, 1fr); } .bp-offen { position: static; max-height: none; overflow: visible; }
  .bp-grid { grid-template-columns: minmax(0, 1fr); }
  .bgwk .bgwk-sort-btns button { width: 40px; height: 40px; } .bgwk-sort-t strong { display: block; }
}
/* Platzbedarf laut Microsoft-Klassengruppen (Planung, 0.16.0) */
.bp-ms { margin: 0 0 10px; padding: 6px 10px; border: 1px solid var(--bgwk-line); border-radius: 10px; background: #f6f9fc; font-size: .93em; }
.bgwk .bp-ms-zeile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 0 4px; }
.bp-ms-leer { background: transparent; border-style: dashed; }
.bp-ms-det summary { cursor: pointer; color: #2a5d8f; }
.bgwk .bp-ms-tab { width: auto; border-collapse: collapse; margin: 6px 0; font-size: .95em; }
.bgwk .bp-ms-tab th, .bgwk .bp-ms-tab td { padding: 3px 10px; border-bottom: 1px solid var(--bgwk-line); text-align: left; white-space: nowrap; }
.bgwk .bp-ms-tab .bp-num { text-align: right; }
.bgwk .bp-ms-tab tfoot th { border-bottom: 0; }
.bgwk .bp-ms-ohne td { color: #7a848e; }
/* Dritte Ebene: Schüler:innen einer Klasse (0.17.0) */
.bgwk .bp-ms-kl { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #2a5d8f; cursor: pointer; text-transform: none; letter-spacing: 0; min-height: 0; }
.bgwk .bp-ms-kl:hover, .bgwk .bp-ms-kl:focus-visible { text-decoration: underline; }
.bgwk .bp-ms-tab tr.bp-ms-sus > td { padding: 2px 0 8px 18px; background: #fff; }
.bgwk .bp-ms-sus-tab { width: auto; border-collapse: collapse; font-size: .97em; }
.bgwk .bp-ms-sus-tab th, .bgwk .bp-ms-sus-tab td { padding: 2px 8px; border-bottom: 1px solid #eef1f4; text-align: left; white-space: nowrap; vertical-align: middle; }
.bgwk .bp-ms-sus-tab th { font-weight: 600; color: #4b5560; font-size: .92em; }
.bgwk .bp-ms-sus-tab .bp-num { text-align: right; }
.bgwk .bp-ms-sus-tab input[type="number"] { width: 3.6em; padding: 1px 4px; margin: 0; min-height: 0; height: auto; text-align: right; font: inherit; }
.bgwk .bp-ms-sus-tab input[type="checkbox"] { margin: 0; }
.bgwk .bp-ms-sus-tab tr.bp-ms-aus td { color: #9aa3ac; }
.bgwk .bp-ms-sus-tab tr.bp-ms-aus td:nth-child(2) { text-decoration: line-through; }
.bgwk .bp-ms-ind { color: #a35a00; font-weight: 600; }

/* Fenster „Änderungen aus Microsoft“ (0.18.0) */
.bgwk-sus-banner p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bgwk-dialog { width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.3); color: #1d2733; background: #fff; }
.bgwk-dialog[open] { display: flex; flex-direction: column; }
.bgwk-dialog::backdrop { background: rgba(20, 30, 40, .45); }
.bgwk-dialog-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--bgwk-line); }
.bgwk .bgwk-dialog-kopf h2 { margin: 0; font-size: 1.25em; }
.bgwk .bgwk-dialog-zu { min-width: 40px; min-height: 40px; border: 0; border-radius: 6px; background: transparent; color: #45525e; font-size: 1.2em; cursor: pointer; }
.bgwk .bgwk-dialog-zu:hover { background: var(--bgwk-soft); }
.bgwk-dialog-inhalt { flex: 1 1 auto; overflow-y: auto; padding: 14px 18px; }
.bgwk .bgwk-dialog-inhalt h3 { margin: 1.1em 0 .4em; } .bgwk .bgwk-dialog-inhalt h4 { margin: 1em 0 .2em; }
.bgwk-dialog-fuss { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--bgwk-line); background: var(--bgwk-soft); border-radius: 0 0 12px 12px; }
@media (min-width: 681px) { .bgwk-sus-tab td:first-child, .bgwk-sus-tab th:first-child { width: 2.2em; } .bgwk-sus-zweig td:first-child { min-width: 14em; } }
.bgwk .bgwk-sus-aktion { position: sticky; bottom: -14px; z-index: 1; margin: 12px -18px 0; padding: 10px 18px; background: #fff; border-top: 1px solid var(--bgwk-line); }
.bgwk-zweig-fehlt { color: var(--bgwk-warn); font-weight: 600; }

/* Laufbahn (0.19.0) */
.bgwk .bgwk-lb-warn::after { content: "⚠"; color: #b26a00; }
.bgwk .bgwk-lb-aus td { color: #6b7680; }
.bgwk .bgwk-lb-nicht input[type="text"] { min-height: 32px; }
.bgwk .bgwk-lb-hand { margin-top: .8em; }
.bgwk .bgwk-lb-hand > summary { cursor: pointer; font-weight: 600; }
.bgwk .bgwk-lb-hand form { margin: .6em 0; }
.bgwk .bgwk-lb-zahlen { display: flex; flex-wrap: wrap; gap: .4em 1.2em; }
.bgwk .bgwk-lb-ind::after { content: "*"; }
/* Planung: Ansicht „Zeiten“ (0.21.0) – Raster Mo–Fr × Stunden, Konfliktfarben beim gewählten bzw. gezogenen Kurs */
.bgwk .bp-ansicht { margin-left: 4px; }
.bp-zeiten .bp-hin { max-width: 70em; }
.bp-zleg { display: inline-block; padding: 0 6px; border-radius: 4px; border: 1px solid #ccd3da; }
.bp-zleg.is-gruen, .bp-zf.is-gruen { background: #e6f4ea; border-color: #8cc79b; }
.bp-zleg.is-gelb, .bp-zf.is-gelb { background: #fff3dc; border-color: #e0a64a; }
.bp-zleg.is-rot, .bp-zf.is-rot { background: #fde8e8; border-color: #e08b8b; }
.bp-zmain { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 14px; align-items: start; }
.bp-zohne { position: sticky; top: calc(var(--bp-bar, 0px) + 6px + var(--bp-person, 0px)); max-height: 70vh; overflow: auto; padding: 10px; border: 1px dashed #b8c2cc; border-radius: 8px; background: #f7f9fb; }
.bp-zohne h4 { margin: 0 0 6px; font-size: .95em; }
.bp-zohne.is-dropover, .bp-zf.is-dropover { outline: 3px solid var(--bgwk-accent, #2a6db0); outline-offset: -3px; }
.bgwk .bp-zliste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.bp-zraster { border-collapse: separate; border-spacing: 3px; width: 100%; min-width: 760px; table-layout: fixed; }
.bp-zraster th { font-size: .82em; font-weight: 600; text-align: left; padding: 2px 4px; }
.bp-zraster thead th:first-child { width: 112px; }
.bp-zraster tbody th { vertical-align: top; padding-top: 6px; }
.bp-zf { vertical-align: top; min-height: 56px; height: 56px; padding: 4px; border: 1px solid #dde3e9; border-radius: 6px; background: #fff; cursor: default; }
.bp-zf.is-hier { box-shadow: inset 0 0 0 2px #1d2733; }
.bp-zfb { display: block; margin: 0 0 3px; font-size: .74em; font-weight: 700; color: #3a4652; }
.bgwk .bp-zk { padding: 3px 6px; border: 1px solid #ccd3da; border-left-width: 4px; border-radius: 5px; background: #fff; font-size: .8em; line-height: 1.25; cursor: grab; }
.bgwk .bp-zk.is-gruen { border-left-color: var(--bgwk-ok, #2e7d32); } .bgwk .bp-zk.is-gelb { border-left-color: #e0a64a; } .bgwk .bp-zk.is-rot { border-left-color: var(--bgwk-bad, #c62828); }
.bgwk .bp-zk.is-sel { outline: 2px solid #1d2733; }
.bp-zk b { font-weight: 600; } .bp-zl { display: block; color: #5a6672; font-size: .92em; }
.bp-zw { display: inline-block; padding: 0 4px; border-radius: 3px; background: #e9eef3; font-size: .85em; }
.bp-zdetail { position: relative; margin: 0 0 10px; padding: 10px 40px 4px 12px; border: 1px solid #ccd3da; border-left-width: 5px; border-radius: 8px; background: #fff; }
.bp-zdetail.is-gruen { border-left-color: var(--bgwk-ok, #2e7d32); } .bp-zdetail.is-gelb { border-left-color: #e0a64a; } .bp-zdetail.is-rot { border-left-color: var(--bgwk-bad, #c62828); }
.bp-zdetail h4 { margin: 0 0 4px; } .bp-zdetail p { margin: 0 0 6px; }
.bgwk .bp-zx { position: absolute; top: 6px; right: 6px; }
.bp-zvor:empty { display: none; }
/* 0.22.0: Teilnehmer:innen aufklappen, ausgewählte Person */
.bgwk .bp-zauf { display: inline-block; min-width: 1.4em; margin: 0; padding: 0 2px; border: 0; background: none; color: #45525e; font: inherit; line-height: 1; cursor: pointer; }
.bgwk .bp-zauf:hover, .bgwk .bp-zauf:focus-visible { color: #1d2733; background: #e9eef3; border-radius: 3px; }
.bp-zf { text-align: left; }
.bgwk .bp-zteil { margin: -2px 0 2px 8px; padding: 4px 4px 2px 6px; border-left: 2px solid #ccd3da; font-size: .92em; }
.bp-zteilk { margin: 0 0 3px; font-size: .8em; color: #5a6672; }
.bp-zteil .bp-sitze { margin: 0; }
.bp-zteil .bp-chip.is-zok { border-color: #8cc79b; background: #e6f4ea; }
.bp-zteil .bp-chip.is-koll { border-color: #e08b8b; background: #fde8e8; }
.bp-zteil .bp-chip.is-sel { border-color: #7a3cc2; background: #f1e8fb; }
.bp-zpm { display: block; margin-top: 1px; font-size: .9em; font-weight: 600; }
.bgwk .bp-zk.is-pja { background: #e6f4ea; box-shadow: inset 0 0 0 1px #8cc79b; } .bp-zk.is-pja .bp-zpm { color: #1e6b33; }
.bgwk .bp-zk.is-pnein { opacity: .55; } .bp-zk.is-pnein .bp-zpm { color: #8a1f1f; }
.bgwk .bp-zk.is-psitz { background: #e8f0fb; box-shadow: inset 0 0 0 1px #8fb0de; } .bp-zk.is-psitz .bp-zpm { color: #1f4f8a; }
.bgwk .bp-zk.is-wish { outline: 2px dashed #2e7d32; outline-offset: 1px; }
.bgwk .bp-zk.is-dropover { outline: 3px solid var(--bgwk-accent, #2a6db0); }
.bp-zleg.is-pja { background: #e6f4ea; border-color: #8cc79b; } .bp-zleg.is-pnein { background: #f0f2f4; color: #7a8590; } .bp-zleg.is-psitz { background: #e8f0fb; border-color: #8fb0de; }
.bp-zperson { margin-bottom: 4px; } .bp-zvor { font-size: .85em; color: #3a4652; }
@media (max-width: 680px) {
  .bp-zmain { grid-template-columns: minmax(0, 1fr); } .bp-zohne { position: static; max-height: none; }
}
/* 0.23.0: Rückgängig/Vorwärts, Gründe für Gelb/Rot, „→ Kurs“ nur als Hinweis in der Ansicht „Zeiten“ */
.bp-hist { display: inline-flex; gap: 4px; }
.bgwk .bp-hist .bgwk-btn { min-width: 40px; padding-left: 8px; padding-right: 8px; font-size: 1.2em; line-height: 1; }
.bgwk .bp-hist .bgwk-btn:disabled { opacity: .45; cursor: not-allowed; }
.bp-gohin { margin-left: auto; padding: 0 6px; border: 1px dashed var(--bgwk-accent); border-radius: 999px; color: var(--bgwk-accent); font-size: .85em; line-height: 1.5; white-space: nowrap; cursor: help; }
.bp-zwhy { display: block; margin-top: 2px; font-size: .85em; font-weight: 600; color: #6b4a00; }
.bp-zk.is-rot .bp-zwhy { color: #a12020; }
.bp-zlegende { margin: 0 0 10px; padding: 6px 10px; border: 1px solid #dfe4e9; border-radius: 6px; background: #fafbfc; font-size: .9em; }
.bp-zlegende p { margin: 3px 0; }

/* Kopfzeile der Planung (0.24.0): zwei Zeilen, Werkzeuge je Ansicht, etwas kleiner und ruhiger */
.bp-bar { display: grid; gap: 6px; padding: 7px 10px; }
.bp-r { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.bp-sep { width: 1px; align-self: stretch; margin: 2px 2px; background: var(--bgwk-line); }
.bgwk .bp-bar .bgwk-btn, .bgwk .bp-bar .bgwk-tab { min-height: 32px; padding: .3em .7em; font-size: 14px; }
.bgwk .bp-bar .bgwk-btn.bp-q { font-weight: 400; }
.bgwk .bp-bar .bgwk-btn.bp-icon, .bgwk .bp-bar .bp-hist .bgwk-btn { min-width: 32px; padding: 0 6px; font-size: 16px; line-height: 1; }
.bgwk .bp-bar input[type=search] { width: 160px; min-height: 32px; padding: 0 8px; font-size: 14px; }
.bp-bar .bgwk-check { font-size: 14px; }
.bgwk .bp-bar .bp-stand { font-size: 13px; }
.bgwk .bp-bar .bp-frei { font-size: 13px; color: var(--bgwk-ok); white-space: nowrap; } .bgwk .bp-bar .bp-frei.is-nein { color: var(--bgwk-muted, #666); } .bgwk .bp-bar .bp-frei.is-ab { color: #7a4300; font-weight: 700; }
.bp-dd { position: relative; display: inline-block; } .bgwk .bp-bar .bp-dd { margin: 0; }
.bp-dd > summary { list-style: none; } .bp-dd > summary::-webkit-details-marker { display: none; }
.bp-dd-m { position: absolute; top: calc(100% + 4px); left: 0; z-index: 8; display: grid; min-width: 300px; padding: 4px; border: 1px solid #c9d1d9; border-radius: 6px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.14); }
.bp-dd-m.bp-dd-rechts { left: auto; right: 0; min-width: 240px; }
.bgwk .bp-dd-m button { display: block; width: 100%; margin: 0; padding: 7px 9px; border: 0; border-radius: 4px; background: none; color: #1d2733; font: inherit; font-size: 14px; font-weight: 600; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer; }
.bgwk .bp-dd-m button:hover:not(:disabled) { background: var(--bgwk-soft); }
.bgwk .bp-dd-m button:disabled { opacity: .45; cursor: default; }
.bgwk .bp-dd-m button small { display: block; font-size: 12px; font-weight: 400; color: #5b6875; }
.bgwk .bp-dd-m button.bp-dd-bad { color: var(--bgwk-bad); }
.bp-var { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; background: none; font-size: 14px; }
.bp-var-l { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #5b6875; }
.bp-var select { max-width: 22em; min-height: 32px; font-size: 14px; }
.bp-var-akt { font-size: 13px; }
@media (max-width: 680px) { .bp-sep { display: none; } .bp-bar input[type=search] { width: 100%; } .bgwk .bp-bar .bgwk-btn, .bgwk .bp-bar .bgwk-tab { min-height: 40px; } }

/* Abgleich mit Microsoft über den Listen der Lehrpersonen und Schüler:innen (0.25.2) */
.bgwk .bgwk-abgleich { display: flex; flex-wrap: wrap; align-items: center; gap: .3em 1em; margin: .4em 0 1em; }
.bgwk .bgwk-abgleich p { margin: 0; flex: 1 1 18em; }

/* Filter der Listen mit Mehrfachauswahl und Export (0.26.0, BGWK_Listen): kleine Ausklappfelder in einer Zeile */
.bgwk-fl { gap: 6px 8px; } .bgwk-fl .bgwk-filter { gap: 6px; }
.bgwk-dd { position: relative; margin: 0; }
.bgwk-dd > summary { display: inline-flex; align-items: center; gap: .3em; min-height: 32px; padding: .2em .65em; border: 1px solid #b8c2cc; border-radius: 16px; background: #fff; font-size: .9em; cursor: pointer; list-style: none; white-space: nowrap; user-select: none; }
.bgwk-dd > summary::-webkit-details-marker { display: none; }
.bgwk-dd > summary::after { content: '▾'; color: #5a6672; font-size: .85em; }
.bgwk-dd > summary b { max-width: 14em; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.bgwk-dd > summary:hover { border-color: #8a97a5; background: var(--bgwk-soft); }
.bgwk-dd.is-aktiv > summary { border-color: var(--bgwk-accent); background: #e8f1f8; color: #10405f; }
.bgwk-dd[open] > summary { border-color: var(--bgwk-accent); }
.bgwk-dd-pop { position: absolute; z-index: 50; top: calc(100% + 4px); left: 0; min-width: 13em; max-width: min(24em, 90vw); max-height: 60vh; overflow-y: auto; padding: 8px 10px; border: 1px solid #b8c2cc; border-radius: 8px; background: #fff; box-shadow: 0 6px 20px rgba(16, 32, 43, .18); }
.bgwk-dd-pop label { display: block; padding: .2em 0; font-weight: 400; font-size: .92em; line-height: 1.35; }
.bgwk-dd-pop .bgwk-hint { margin: .3em 0; font-size: .85em; }
.bgwk-dd-fuss { position: sticky; bottom: -8px; margin: .4em -10px -8px; padding: 6px 10px; border-top: 1px solid var(--bgwk-line); background: #fff; }
.bgwk-dd-export > summary { font-weight: 600; }
.bgwk-dd-export .bgwk-dd-pop { min-width: 17em; }
.bgwk-dd-spalten { columns: 2; column-gap: 12px; } .bgwk-dd-spalten label { break-inside: avoid; }
.bgwk-fl-weg { font-size: .88em; white-space: nowrap; }
@media (max-width: 680px) {
  .bgwk-dd[open] { flex: 1 1 100%; }
  .bgwk-dd-pop { position: static; max-width: none; max-height: none; margin-top: 4px; box-shadow: none; }
  .bgwk-dd-fuss { position: static; }
  .bgwk-dd-pop label { padding: .4em 0; }
  .bgwk-dd-spalten { columns: 1; }
}

/* Freigabe prüfen (0.36.0): Statistik vor „Speichern und freigeben“ */
.bgwk .bp-pruef { margin: 0 0 12px; padding: 12px 14px; border: 2px solid var(--bgwk-ok); border-radius: 8px; background: #fff; }
.bgwk .bp-pruef-kopf { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bgwk .bp-pruef-kopf h3 { margin: 0; font-size: 1.1em; }
.bgwk .bp-pruef-zu { min-width: 32px; min-height: 32px; border: 0; border-radius: 6px; background: transparent; color: #45525e; cursor: pointer; }
.bgwk .bp-pruef-zu:hover { background: var(--bgwk-soft); }
.bgwk .bp-pruef > p { margin: 4px 0 8px; }
.bgwk .bp-pruef-liste { margin: 6px 0 10px; } .bgwk .bp-pruef-liste summary { cursor: pointer; font-weight: 600; }
.bgwk .bp-pruef-liste .bgwk-scroll { max-height: 40vh; overflow-y: auto; }
.bgwk .bp-pruef-fuss { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bgwk .bgwk-sem-dl { white-space: nowrap; margin-right: 8px; }

/* Clusterwahl in der Kurswahl (0.40.0): Cluster als Ganzes ankreuzen, ihre Kurse stehen zuerst und sind hervorgehoben */
.bgwk .bgwk-clwahl { display: grid; gap: 6px; margin: 0 0 16px; padding: 10px 14px; border: 1px solid var(--bgwk-line); border-radius: 8px; }
.bgwk .bgwk-clwahl legend { font-weight: 600; padding: 0 4px; }
.bgwk .bgwk-clwahl .bgwk-hint { margin: 0; }
.bgwk .bgwk-clwahl-in { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.bgwk .bgwk-wk.is-meincl { box-shadow: inset 0 4px 0 var(--bgwk-accent); background: var(--bgwk-soft); }
.bgwk .bgwk-wk.is-meincl.is-picked { box-shadow: inset 4px 0 0 var(--bgwk-ok), inset 0 4px 0 var(--bgwk-accent); }
.bp-teil { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; } /* Kurs teilen (0.49.0) */

/* Hilfe (0.50.0): Menüpunkt „Hilfe“ und Druckfassung */
.bgwk-hilfe { max-width: 980px; }
.bgwk .bgwk-h-leiste { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 1em; padding: .6em 0; border-bottom: 2px solid var(--bgwk-line); }
.bgwk .bgwk-h-teile { display: flex; flex-wrap: wrap; gap: 4px; margin-right: auto; }
.bgwk .bgwk-h-tab { padding: .4em .8em; border-radius: 6px; background: var(--bgwk-soft); color: #26333d; font-weight: 600; text-decoration: none; }
.bgwk .bgwk-h-tab.is-active { background: var(--bgwk-accent); color: #fff; }
.bgwk .bgwk-h-suche { min-height: 32px; width: 16em; max-width: 100%; padding: .25em .6em; border: 1px solid #b8c2cc; border-radius: 6px; font: inherit; font-size: .95em; }
.bgwk .bgwk-h-treffer { color: #5a6672; font-size: .92em; }
.bgwk .bgwk-h-inhalt { margin: 0 0 1.2em; padding: .7em 1em; border: 1px solid var(--bgwk-line); border-radius: 6px; background: var(--bgwk-soft); }
.bgwk .bgwk-h-inhalt ol { margin: .4em 0 0 1.4em; columns: 2 18em; column-gap: 2em; } .bgwk .bgwk-h-inhalt li { break-inside: avoid; }
.bgwk .bgwk-h-kap { margin: 0 0 1.4em; padding: 0 0 .6em; border-bottom: 1px solid var(--bgwk-line); scroll-margin-top: 80px; }
.bgwk .bgwk-h-kap > h3 { margin: .6em 0 .15em; font-size: 1.25em; }
.bgwk .bgwk-h-kurz { color: #5a6672; margin-bottom: .4em; }
.bgwk .bgwk-h-zur { margin: 0 0 .5em; font-size: .95em; }
.bgwk details.bgwk-h-thema { margin: 0; border-top: 1px solid var(--bgwk-line); }
.bgwk .bgwk-h-thema > summary { cursor: pointer; padding: .45em 0; font-weight: 600; color: #1d2733; }
.bgwk .bgwk-h-thema[open] > summary { color: var(--bgwk-accent); }
.bgwk .bgwk-h-in { padding: 0 0 .7em 1.1em; }
.bgwk .bgwk-h-in h5 { margin: .6em 0 .3em; font-size: 1em; }
.bgwk .bgwk-h-tipp { padding: .45em .8em; border-left: 4px solid #d98a00; border-radius: 0 6px 6px 0; background: #fff8e8; font-size: .95em; }
.bgwk .bgwk-h-schritte > li { margin-bottom: .35em; }
.bgwk .bgwk-h-bilder { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; margin: .4em 0 .8em; }
.bgwk .bgwk-h-bild { margin: 0; } .bgwk .bgwk-h-bild img { display: block; width: 100%; height: auto; border: 1px solid var(--bgwk-line); border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.bgwk .bgwk-h-bild figcaption { margin-top: .25em; color: #5a6672; font-size: .85em; }
.bgwk .bgwk-h-gross { white-space: nowrap; }
.bgwk ul.bgwk-h-ablauf { margin-left: 0; list-style: none; } .bgwk .bgwk-h-ablauf li { margin: 0 0 .35em; }
.bgwk .bgwk-h-ablauf label { display: flex; gap: .5em; align-items: baseline; cursor: pointer; }
.bgwk .bgwk-h-ablauf input { flex: none; width: 1.1em; height: 1.1em; }
.bgwk .bgwk-h-wann { flex: none; width: 11.5em; font-weight: 600; color: #222; } .bgwk .bgwk-h-ablauf label { font-weight: 400; color: #555; } .bgwk .bgwk-h-was { flex: 1 1 auto; min-width: 0; }
.bgwk .bgwk-h-ablauf input:checked ~ * { color: #8a97a5; } .bgwk .bgwk-h-ablauf li.is-erledigt .bgwk-h-wann, .bgwk .bgwk-h-ablauf li.is-erledigt .bgwk-h-txt { text-decoration: line-through; }
.bgwk .bgwk-h-wer { display: inline-block; text-decoration: none; font-size: .85em; color: #2e7d32; margin-left: .3em; } .bgwk .bgwk-h-wer:empty { display: none; } .bgwk .bgwk-h-ablauf.is-busy { opacity: .7; } .bgwk .bgwk-h-ablauf input:disabled { cursor: default; } .bgwk .bgwk-h-ablauf-msg { color: #b3261e; font-size: .9em; }
.bgwk .bgwk-h-fuss { color: #5a6672; font-size: .9em; }
.bgwk mark.bgwk-h-mark { background: #ffe58a; color: inherit; padding: 0 .1em; }
@media (max-width: 680px) { .bgwk .bgwk-h-wann { width: auto; } .bgwk .bgwk-h-ablauf label { flex-wrap: wrap; } .bgwk .bgwk-h-suche { width: 100%; } }
/* Druckfassung (eigene Seite) */
body.bgwk-h-druckseite { margin: 0; background: #fff; font-family: "Open Sans", Arial, Helvetica, sans-serif; color: #333; line-height: 1.5; }
.bgwk-hilfe.is-druck { max-width: 820px; margin: 0 auto; padding: 24px; font-size: 14px; }
.bgwk .bgwk-h-titel { margin: 0 0 1.5em; padding: 0 0 .8em; border-bottom: 3px solid var(--bgwk-accent); }
.bgwk .bgwk-h-titel h1 { margin: 0; font-size: 2.2em; color: #10202b; } .bgwk .bgwk-h-unter { font-size: 1.3em; margin: .2em 0 .4em; }
.bgwk .bgwk-h-teilname { margin: .6em 0 0; font-weight: 700; }
.bgwk .bgwk-h-teilkopf { margin-top: 0; padding: .3em 0; border-bottom: 2px solid var(--bgwk-accent); }
.is-druck .bgwk-h-bilder { grid-template-columns: 1fr; } .is-druck .bgwk-h-bild img { max-height: 520px; width: auto; max-width: 100%; }
.is-druck .bgwk-h-thema > summary { list-style: none; cursor: default; } .is-druck .bgwk-h-thema > summary::-webkit-details-marker { display: none; }
@media print {
  @page { size: A4; margin: 16mm 14mm; }
  .bgwk-h-nodruck { display: none !important; }
  .bgwk-hilfe.is-druck { padding: 0; max-width: none; font-size: 11pt; }
  .is-druck .bgwk-h-inhalt { page-break-after: always; break-after: page; }
  .is-druck .bgwk-h-teilkopf { break-before: page; page-break-before: always; }
  .is-druck .bgwk-h-kap { break-inside: auto; } .is-druck .bgwk-h-kap > h3, .is-druck .bgwk-h-kurz, .is-druck .bgwk-h-teilkopf { break-after: avoid; page-break-after: avoid; }
  .is-druck .bgwk-h-kap > h3 + .bgwk-h-kurz { break-before: avoid; }
  .is-druck .bgwk-h-bild, .is-druck .bgwk-h-thema { break-inside: avoid; page-break-inside: avoid; }
  .is-druck .bgwk-h-bild img { box-shadow: none; max-height: 120mm; }
  .is-druck a { color: inherit; text-decoration: none; }
}
