/*
Teamplan, V0.1 - 2026
(c) 2026 copyright by Frank Schwarz
Alle Rechte vorbehalten, Frank Schwarz; fs@csskoeln.de
$Id: fsv-kalender.css 1 17.10.2026 @fs$
Aus der FSV (fsv/assets/css/kalender.css) unveraendert uebernommen (Entscheidung 17.10.2026: Oberflaeche strikt wie FSV).
Aenderungen nur in teamplan.css.
*/
/*
*****************************************************************************
FSV - Fahrschulverwaltung, V0.4 - 2026
(c) 2026 copyright by Frank Schwarz
Alle Rechte vorbehalten, Frank Schwarz; fs@csskoeln.de
*****************************************************************************
$Id: kalender.css 1 07.10.2026 @fs$
*****************************************************************************
Planung > Kalender (docs/new2027/58 Punkt 11 und 12): das Raster für Tag und Woche, das Terminformular, die Dialoge und die Karten
"Termine" und "Leistungen" in der Akte. Lage und Größe der Blöcke kommen NUR über Klassen (kein style-Attribut): k-a<n> = Beginn in
5-Minuten-Schritten ab dem Rasterbeginn, k-d<n> = Dauer in 5-Minuten-Schritten, k-l<n> und k-n<n> = Spur und Zahl der Spuren nebeneinander,
k-h<n> = Höhe des Blocks in 5-Minuten-Schritten. Die Regeln dafür stehen am Ende der Datei (erzeugt), alles andere hier oben.
Lesbarkeit (Vorgabe): dunkle Schrift auf hellem Grund; Sonntag halb so breit; Sonntage und Feiertage rot; keine Scrollbalken.
*/

.k-box { --k-zeile: 24px; --k-einheit: calc(var(--k-zeile) / 3); }

/* ------------------------------------------------------------ Kopf, Auswahl, Navigation */
.k-ansicht { display: inline-flex; gap: var(--knopf-abstand); }
.k-ansicht .knopf.aktiv { background: var(--haupt-hell); border-color: var(--haupt); color: var(--haupt); }
.k-wahl { margin: 12px 0 0; }
.k-wahl-felder { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.k-wahl-felder .feld { flex: 0 1 220px; min-width: 150px; }
.k-wahl-felder .feld input[type="date"] { width: 100%; }
.k-wahl-felder .k-feld-suche { flex: 1 1 260px; }
.k-wahl-felder .k-feld-knopf { flex: 0 0 auto; min-width: 0; margin-left: auto; }
.k-liste-rahmen { margin-top: 12px; }
.k-serie .feld-titel { display: block; margin-bottom: 8px; }
.k-vertretung-zusatz { display: block; margin-top: 4px; font-size: 14px; color: var(--text); }
.k-serie .k-wahl-reihe { margin-bottom: 8px; }
.k-monat .kb-tag { min-height: 120px; }
.k-navigation { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0; }
.k-tag-titel { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.k-tag-text { font-size: 16px; color: var(--text); }
.k-tag-text.k-rot, .k-rot .k-name, .k-rot .k-kopf-zusatz { color: var(--fehler); }
.k-leer { margin: 12px 0; }

/* ------------------------------------------------------------ Raster */
.k-raster { display: flex; flex-direction: column; gap: var(--box-abstand); }
.k-block { display: flex; align-items: stretch; border: 1px solid var(--linie); border-radius: 8px; overflow: hidden; background: var(--flaeche); min-width: 0; }
.k-achse { flex: 0 0 52px; border-right: 1px solid var(--linie); background: var(--tabellenkopf); }
.k-spalte { flex: 1 1 0; min-width: 0; border-left: 1px solid var(--linie); }
.k-spalte:first-of-type { border-left: 0; }
.k-spalte.k-sonntag { flex: .5 1 0; }
/* Der Name steht in jeder Spalte auf derselben Höhe (oben), auch wenn nur ein Teil der Spalten eine Zusatzzeile (Simulator, Fahrzeug) hat; bei "center" sprang der einzeilige Name nach unten. */
.k-kopf { height: 52px; padding: 9px 8px 5px; border-bottom: 1px solid var(--linie); background: var(--tabellenkopf); display: flex; flex-direction: column; justify-content: flex-start; gap: 1px; overflow: hidden; }
.k-name { font-weight: 700; color: var(--haupt); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 1.3; }
a.k-name:hover { text-decoration: underline; }
.k-kopf-zusatz { font-size: 12px; line-height: 1.3; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-pille { margin-left: 4px; }
.k-koerper {
    position: relative; overflow: hidden;
    background-image: linear-gradient(var(--linie-stark) 1px, transparent 1px), linear-gradient(var(--linie-zeile) 1px, transparent 1px);
    background-size: 100% calc(12 * var(--k-einheit)), 100% calc(3 * var(--k-einheit));
}
.k-koerper[data-neu] { cursor: cell; }
.k-achse .k-koerper { background-image: none; }
.k-stunde { position: absolute; right: 6px; top: calc(var(--a) * var(--k-einheit) - 8px); font-size: 12px; font-weight: 600; color: var(--text); line-height: 16px; }
.k-achse .k-stunde:first-child { top: 2px; }
.k-zu { position: absolute; left: 0; right: 0; top: calc(var(--a) * var(--k-einheit)); height: calc(var(--d) * var(--k-einheit)); background: rgba(74, 80, 96, .10); pointer-events: none; }
.k-zu.k-sperre { background: repeating-linear-gradient(135deg, rgba(158, 31, 23, .14), rgba(158, 31, 23, .14) 6px, rgba(158, 31, 23, .05) 6px, rgba(158, 31, 23, .05) 12px); pointer-events: auto; }
.k-jetzt { position: absolute; left: 0; right: 0; top: calc(var(--a) * var(--k-einheit)); height: 2px; background: #C62828; z-index: 5; pointer-events: none; }

/* Ein Termin: Farbe je Art, Rand links kräftig, Schrift dunkel */
.k-termin {
    position: absolute; z-index: 2; overflow: hidden; display: block; box-sizing: border-box; text-decoration: none; color: #1B2230;
    left: calc(var(--l) * 100% / var(--n) + 1px); width: calc(100% / var(--n) - 3px);
    top: calc(var(--a) * var(--k-einheit) + 1px); height: calc(var(--d) * var(--k-einheit) - 2px);
    padding: 2px 6px; border-radius: 6px; border: 1px solid var(--k-rand, #1565C0); border-left-width: 4px; background: var(--k-flaeche, #E3EEFF);
}
.k-avatar { width: 18px; height: 18px; margin-right: 4px; border-radius: 50%; object-fit: cover; vertical-align: -4px; background: var(--haupt-hell); }
.k-termin:hover { box-shadow: 0 2px 8px rgba(0, 14, 112, .28); z-index: 6; height: auto; min-height: calc(var(--d) * var(--k-einheit) - 2px); }
.k-termin:focus-visible { outline: 2px solid var(--haupt); outline-offset: 1px; z-index: 6; }
.k-art-fahrstunde { --k-rand: #1565C0; --k-flaeche: #E3EEFF; }
.k-art-simulator { --k-rand: #5E35B1; --k-flaeche: #ECE6FB; }
.k-art-theorie, .k-art-kurs { --k-rand: #1F6B45; --k-flaeche: #E2F3E9; }
.k-art-pruefung { --k-rand: #C25E00; --k-flaeche: #FFEFD9; }
.k-art-blocker { --k-rand: #6E7488; --k-flaeche: #ECEEF3; }
.k-zeit { display: block; font-size: 12px; font-weight: 600; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-text { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; overflow-wrap: break-word; word-break: normal; }
.k-zusatz { display: block; font-size: 12px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-marke { font-size: 11px; margin-left: 3px; }
.k-s-erledigt { background: var(--k-flaeche); border-left-style: solid; opacity: .88; }
.k-s-nicht_erschienen { border-style: dashed; border-color: var(--fehler); border-left-width: 4px; }
.k-s-abgesagt { left: 3px; width: calc(100% - 7px); z-index: 1; background: #FFFFFF; border-style: dashed; border-color: #8A90A2; opacity: .75; text-decoration: line-through; }
.k-s-abgesagt:hover { text-decoration: none; opacity: 1; }
.k-offen { box-shadow: inset 0 0 0 2px #E0A800; }
.k-fremd { --k-rand: #8A90A2; --k-flaeche: #EFF0F4; }
.k-d1 .k-zusatz, .k-d2 .k-zusatz, .k-d3 .k-zusatz, .k-d4 .k-zusatz, .k-d5 .k-zusatz { display: none; }
.k-d1 .k-zeit, .k-d2 .k-zeit, .k-d3 .k-zeit { display: none; }
.k-d1, .k-d2, .k-d3 { padding-top: 0; padding-bottom: 0; }

.k-legende { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: 12px; color: var(--text); }
.k-leg { display: inline-flex; align-items: center; gap: 6px; }
.k-leg.k-art-fahrstunde, .k-leg.k-art-simulator, .k-leg.k-art-theorie, .k-leg.k-art-pruefung, .k-leg.k-art-blocker {
    padding: 1px 8px; border: 1px solid var(--k-rand); border-left-width: 4px; border-radius: 6px; background: var(--k-flaeche);
}
.k-leg-zu::before { content: ""; width: 14px; height: 14px; border-radius: 3px; background: rgba(74, 80, 96, .22); display: inline-block; }

/* ------------------------------------------------------------ Formular */
.k-formular .karten-zeile > .feld { min-width: 150px; }
.k-formular .karten-zeile > .feld.feld-schmal { flex: 1 1 110px; min-width: 105px; max-width: 170px; }
.k-formular .feld[hidden], [data-nur-art][hidden], [data-nur-status][hidden] { display: none !important; }
.k-pflicht > label::after { content: " *"; color: var(--fehler); font-weight: 700; }
.k-schnellwahl { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -4px 0 0; }
.k-schnellwahl-text { font-size: 12px; font-weight: 600; }
.k-schnellwahl .knopf[hidden] { display: none; }
.k-teilnehmer-hinweis { font-weight: 400; }
.k-gewaehlt { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.k-gewaehlt:empty { display: none; }
.k-tn { display: flex; align-items: center; gap: 12px; padding: 6px 10px; border: 1px solid var(--linie); border-radius: 8px; background: var(--tabellenkopf); }
.k-tn-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; color: var(--text); }
.k-tn-brille { color: var(--haupt); }
.k-tn-ausbildung { width: auto; min-width: 140px; max-width: 220px; }
.k-suche { max-width: 460px; }
.k-warnbox, .k-hinweisbox { align-items: flex-start; }
.k-warnliste { margin: 8px 0 8px; padding-left: 20px; font-weight: 500; color: var(--text); }
.k-warnliste li + li { margin-top: 4px; }
.k-trotzdem { margin-top: 8px; padding: 10px 12px; border: 1px solid #F5CFA0; border-radius: 8px; background: var(--warnung-flaeche); }
.k-absage-info { margin: 12px 0 0; }
.k-wahl-reihe { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.k-radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; font-weight: 400; color: var(--text); }
.k-anwesenheit { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
/* Themen des Ausbildungsplans im Dialog Abschließen: je Stufe eine Gruppe mit Haken, auf dem Handy eine Spalte (Tippfläche mindestens 40 px). */
.k-themen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px 16px; align-items: start; }
.k-themen-gruppe > strong { display: block; margin-bottom: 4px; font-size: 14px; color: var(--text); }
.k-themen-liste { display: flex; flex-direction: column; }
.k-thema { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 14px; font-weight: 400; color: var(--text); cursor: pointer; }
.k-thema input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; }
.k-formular-box > .wert-liste { margin: 12px 0 0; }
.k-aus { display: none !important; }

/* ------------------------------------------------------------ Akte: Termine, Leistungen, Ausbildungsstand */
.termin-liste { list-style: none; margin: 0; padding: 0; }
.termin-zeile { display: grid; grid-template-columns: 56px minmax(96px, 130px) minmax(0, 1fr) auto 24px; align-items: center; gap: 12px; padding: 8px 8px; }
.termin-datum { flex: 0 0 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px 0; border-radius: 8px; background: var(--haupt-hell); color: var(--haupt); font-weight: 700; font-size: 13px; line-height: 1.25; text-align: center; }
.termin-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; color: var(--text); }
.termin-text strong { font-weight: 600; color: var(--text); }
.termin-sub { font-size: 14px; color: var(--text); }
.termin-pfeil { flex: 0 0 auto; color: var(--haupt); text-decoration: none; padding: 4px 8px; }
.stand-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: max-content minmax(80px, 1fr) max-content; align-items: center; gap: 10px 14px; }
.stand-zeile { display: contents; }
.stand-name { font-weight: 600; color: var(--text); }
.stand-balken { width: 100%; height: 12px; border: 0; border-radius: 6px; overflow: hidden; background: var(--haupt-hell); accent-color: var(--haupt); }
.stand-balken::-webkit-progress-bar { background: var(--haupt-hell); border-radius: 6px; }
.stand-balken::-webkit-progress-value { background: var(--haupt); border-radius: 6px; }
.stand-balken::-moz-progress-bar { background: var(--haupt); border-radius: 6px; }
.stand-balken.erfuellt::-webkit-progress-value { background: var(--erfolg); }
.stand-balken.erfuellt::-moz-progress-bar { background: var(--erfolg); }
.stand-wert { font-size: 14px; color: var(--text); white-space: nowrap; }
.stand-weitere { margin: 12px 0 0; font-size: 14px; color: var(--text); }
.stand-pur { margin: 0; }
.akte-kopf .reiter-knopf { padding: 0 12px; }

/* ------------------------------------------------------------ kleine Bildschirme */
@media (max-width: 1100px) {
    .k-achse { flex-basis: 46px; }
    .k-kopf { padding: 8px 6px 4px; }
}
@media (max-width: 760px) {
    .stand-liste { grid-template-columns: minmax(0, 1fr); }
    .termin-zeile { grid-template-columns: 56px minmax(0, 1fr) auto 24px; }
    .termin-zeile .termin-text:nth-of-type(2) { grid-column: 2 / 3; }
    .k-achse { flex-basis: 46px; }
    .k-stunde { right: 4px; font-size: 11px; }
    .k-name { font-size: 13px; }
    .k-text, .k-zeit, .k-zusatz { font-size: 11px; }
    .k-wahl-felder .feld { flex: 1 1 140px; }
    .stand-zeile { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------ Größen (erzeugt von claude-kalender/css-bauen.py) */
.k-a0 { --a: 0; }
.k-a1 { --a: 1; }
.k-a2 { --a: 2; }
.k-a3 { --a: 3; }
.k-a4 { --a: 4; }
.k-a5 { --a: 5; }
.k-a6 { --a: 6; }
.k-a7 { --a: 7; }
.k-a8 { --a: 8; }
.k-a9 { --a: 9; }
.k-a10 { --a: 10; }
.k-a11 { --a: 11; }
.k-a12 { --a: 12; }
.k-a13 { --a: 13; }
.k-a14 { --a: 14; }
.k-a15 { --a: 15; }
.k-a16 { --a: 16; }
.k-a17 { --a: 17; }
.k-a18 { --a: 18; }
.k-a19 { --a: 19; }
.k-a20 { --a: 20; }
.k-a21 { --a: 21; }
.k-a22 { --a: 22; }
.k-a23 { --a: 23; }
.k-a24 { --a: 24; }
.k-a25 { --a: 25; }
.k-a26 { --a: 26; }
.k-a27 { --a: 27; }
.k-a28 { --a: 28; }
.k-a29 { --a: 29; }
.k-a30 { --a: 30; }
.k-a31 { --a: 31; }
.k-a32 { --a: 32; }
.k-a33 { --a: 33; }
.k-a34 { --a: 34; }
.k-a35 { --a: 35; }
.k-a36 { --a: 36; }
.k-a37 { --a: 37; }
.k-a38 { --a: 38; }
.k-a39 { --a: 39; }
.k-a40 { --a: 40; }
.k-a41 { --a: 41; }
.k-a42 { --a: 42; }
.k-a43 { --a: 43; }
.k-a44 { --a: 44; }
.k-a45 { --a: 45; }
.k-a46 { --a: 46; }
.k-a47 { --a: 47; }
.k-a48 { --a: 48; }
.k-a49 { --a: 49; }
.k-a50 { --a: 50; }
.k-a51 { --a: 51; }
.k-a52 { --a: 52; }
.k-a53 { --a: 53; }
.k-a54 { --a: 54; }
.k-a55 { --a: 55; }
.k-a56 { --a: 56; }
.k-a57 { --a: 57; }
.k-a58 { --a: 58; }
.k-a59 { --a: 59; }
.k-a60 { --a: 60; }
.k-a61 { --a: 61; }
.k-a62 { --a: 62; }
.k-a63 { --a: 63; }
.k-a64 { --a: 64; }
.k-a65 { --a: 65; }
.k-a66 { --a: 66; }
.k-a67 { --a: 67; }
.k-a68 { --a: 68; }
.k-a69 { --a: 69; }
.k-a70 { --a: 70; }
.k-a71 { --a: 71; }
.k-a72 { --a: 72; }
.k-a73 { --a: 73; }
.k-a74 { --a: 74; }
.k-a75 { --a: 75; }
.k-a76 { --a: 76; }
.k-a77 { --a: 77; }
.k-a78 { --a: 78; }
.k-a79 { --a: 79; }
.k-a80 { --a: 80; }
.k-a81 { --a: 81; }
.k-a82 { --a: 82; }
.k-a83 { --a: 83; }
.k-a84 { --a: 84; }
.k-a85 { --a: 85; }
.k-a86 { --a: 86; }
.k-a87 { --a: 87; }
.k-a88 { --a: 88; }
.k-a89 { --a: 89; }
.k-a90 { --a: 90; }
.k-a91 { --a: 91; }
.k-a92 { --a: 92; }
.k-a93 { --a: 93; }
.k-a94 { --a: 94; }
.k-a95 { --a: 95; }
.k-a96 { --a: 96; }
.k-a97 { --a: 97; }
.k-a98 { --a: 98; }
.k-a99 { --a: 99; }
.k-a100 { --a: 100; }
.k-a101 { --a: 101; }
.k-a102 { --a: 102; }
.k-a103 { --a: 103; }
.k-a104 { --a: 104; }
.k-a105 { --a: 105; }
.k-a106 { --a: 106; }
.k-a107 { --a: 107; }
.k-a108 { --a: 108; }
.k-a109 { --a: 109; }
.k-a110 { --a: 110; }
.k-a111 { --a: 111; }
.k-a112 { --a: 112; }
.k-a113 { --a: 113; }
.k-a114 { --a: 114; }
.k-a115 { --a: 115; }
.k-a116 { --a: 116; }
.k-a117 { --a: 117; }
.k-a118 { --a: 118; }
.k-a119 { --a: 119; }
.k-a120 { --a: 120; }
.k-a121 { --a: 121; }
.k-a122 { --a: 122; }
.k-a123 { --a: 123; }
.k-a124 { --a: 124; }
.k-a125 { --a: 125; }
.k-a126 { --a: 126; }
.k-a127 { --a: 127; }
.k-a128 { --a: 128; }
.k-a129 { --a: 129; }
.k-a130 { --a: 130; }
.k-a131 { --a: 131; }
.k-a132 { --a: 132; }
.k-a133 { --a: 133; }
.k-a134 { --a: 134; }
.k-a135 { --a: 135; }
.k-a136 { --a: 136; }
.k-a137 { --a: 137; }
.k-a138 { --a: 138; }
.k-a139 { --a: 139; }
.k-a140 { --a: 140; }
.k-a141 { --a: 141; }
.k-a142 { --a: 142; }
.k-a143 { --a: 143; }
.k-a144 { --a: 144; }
.k-a145 { --a: 145; }
.k-a146 { --a: 146; }
.k-a147 { --a: 147; }
.k-a148 { --a: 148; }
.k-a149 { --a: 149; }
.k-a150 { --a: 150; }
.k-a151 { --a: 151; }
.k-a152 { --a: 152; }
.k-a153 { --a: 153; }
.k-a154 { --a: 154; }
.k-a155 { --a: 155; }
.k-a156 { --a: 156; }
.k-a157 { --a: 157; }
.k-a158 { --a: 158; }
.k-a159 { --a: 159; }
.k-a160 { --a: 160; }
.k-a161 { --a: 161; }
.k-a162 { --a: 162; }
.k-a163 { --a: 163; }
.k-a164 { --a: 164; }
.k-a165 { --a: 165; }
.k-a166 { --a: 166; }
.k-a167 { --a: 167; }
.k-a168 { --a: 168; }
.k-a169 { --a: 169; }
.k-a170 { --a: 170; }
.k-a171 { --a: 171; }
.k-a172 { --a: 172; }
.k-a173 { --a: 173; }
.k-a174 { --a: 174; }
.k-a175 { --a: 175; }
.k-a176 { --a: 176; }
.k-a177 { --a: 177; }
.k-a178 { --a: 178; }
.k-a179 { --a: 179; }
.k-a180 { --a: 180; }
.k-a181 { --a: 181; }
.k-a182 { --a: 182; }
.k-a183 { --a: 183; }
.k-a184 { --a: 184; }
.k-a185 { --a: 185; }
.k-a186 { --a: 186; }
.k-a187 { --a: 187; }
.k-a188 { --a: 188; }
.k-a189 { --a: 189; }
.k-a190 { --a: 190; }
.k-a191 { --a: 191; }
.k-a192 { --a: 192; }
.k-a193 { --a: 193; }
.k-a194 { --a: 194; }
.k-a195 { --a: 195; }
.k-a196 { --a: 196; }
.k-a197 { --a: 197; }
.k-a198 { --a: 198; }
.k-a199 { --a: 199; }
.k-a200 { --a: 200; }
.k-a201 { --a: 201; }
.k-a202 { --a: 202; }
.k-a203 { --a: 203; }
.k-a204 { --a: 204; }
.k-a205 { --a: 205; }
.k-a206 { --a: 206; }
.k-a207 { --a: 207; }
.k-a208 { --a: 208; }
.k-a209 { --a: 209; }
.k-a210 { --a: 210; }
.k-a211 { --a: 211; }
.k-a212 { --a: 212; }
.k-a213 { --a: 213; }
.k-a214 { --a: 214; }
.k-a215 { --a: 215; }
.k-a216 { --a: 216; }
.k-a217 { --a: 217; }
.k-a218 { --a: 218; }
.k-a219 { --a: 219; }
.k-a220 { --a: 220; }
.k-a221 { --a: 221; }
.k-a222 { --a: 222; }
.k-a223 { --a: 223; }
.k-a224 { --a: 224; }
.k-a225 { --a: 225; }
.k-a226 { --a: 226; }
.k-a227 { --a: 227; }
.k-a228 { --a: 228; }
.k-a229 { --a: 229; }
.k-a230 { --a: 230; }
.k-a231 { --a: 231; }
.k-a232 { --a: 232; }
.k-a233 { --a: 233; }
.k-a234 { --a: 234; }
.k-a235 { --a: 235; }
.k-a236 { --a: 236; }
.k-a237 { --a: 237; }
.k-a238 { --a: 238; }
.k-a239 { --a: 239; }
.k-a240 { --a: 240; }
.k-a241 { --a: 241; }
.k-a242 { --a: 242; }
.k-a243 { --a: 243; }
.k-a244 { --a: 244; }
.k-a245 { --a: 245; }
.k-a246 { --a: 246; }
.k-a247 { --a: 247; }
.k-a248 { --a: 248; }
.k-a249 { --a: 249; }
.k-a250 { --a: 250; }
.k-a251 { --a: 251; }
.k-a252 { --a: 252; }
.k-a253 { --a: 253; }
.k-a254 { --a: 254; }
.k-a255 { --a: 255; }
.k-a256 { --a: 256; }
.k-a257 { --a: 257; }
.k-a258 { --a: 258; }
.k-a259 { --a: 259; }
.k-a260 { --a: 260; }
.k-a261 { --a: 261; }
.k-a262 { --a: 262; }
.k-a263 { --a: 263; }
.k-a264 { --a: 264; }
.k-a265 { --a: 265; }
.k-a266 { --a: 266; }
.k-a267 { --a: 267; }
.k-a268 { --a: 268; }
.k-a269 { --a: 269; }
.k-a270 { --a: 270; }
.k-a271 { --a: 271; }
.k-a272 { --a: 272; }
.k-a273 { --a: 273; }
.k-a274 { --a: 274; }
.k-a275 { --a: 275; }
.k-a276 { --a: 276; }
.k-a277 { --a: 277; }
.k-a278 { --a: 278; }
.k-a279 { --a: 279; }
.k-a280 { --a: 280; }
.k-a281 { --a: 281; }
.k-a282 { --a: 282; }
.k-a283 { --a: 283; }
.k-a284 { --a: 284; }
.k-a285 { --a: 285; }
.k-a286 { --a: 286; }
.k-a287 { --a: 287; }
.k-a288 { --a: 288; }
.k-d1 { --d: 1; }
.k-d2 { --d: 2; }
.k-d3 { --d: 3; }
.k-d4 { --d: 4; }
.k-d5 { --d: 5; }
.k-d6 { --d: 6; }
.k-d7 { --d: 7; }
.k-d8 { --d: 8; }
.k-d9 { --d: 9; }
.k-d10 { --d: 10; }
.k-d11 { --d: 11; }
.k-d12 { --d: 12; }
.k-d13 { --d: 13; }
.k-d14 { --d: 14; }
.k-d15 { --d: 15; }
.k-d16 { --d: 16; }
.k-d17 { --d: 17; }
.k-d18 { --d: 18; }
.k-d19 { --d: 19; }
.k-d20 { --d: 20; }
.k-d21 { --d: 21; }
.k-d22 { --d: 22; }
.k-d23 { --d: 23; }
.k-d24 { --d: 24; }
.k-d25 { --d: 25; }
.k-d26 { --d: 26; }
.k-d27 { --d: 27; }
.k-d28 { --d: 28; }
.k-d29 { --d: 29; }
.k-d30 { --d: 30; }
.k-d31 { --d: 31; }
.k-d32 { --d: 32; }
.k-d33 { --d: 33; }
.k-d34 { --d: 34; }
.k-d35 { --d: 35; }
.k-d36 { --d: 36; }
.k-d37 { --d: 37; }
.k-d38 { --d: 38; }
.k-d39 { --d: 39; }
.k-d40 { --d: 40; }
.k-d41 { --d: 41; }
.k-d42 { --d: 42; }
.k-d43 { --d: 43; }
.k-d44 { --d: 44; }
.k-d45 { --d: 45; }
.k-d46 { --d: 46; }
.k-d47 { --d: 47; }
.k-d48 { --d: 48; }
.k-d49 { --d: 49; }
.k-d50 { --d: 50; }
.k-d51 { --d: 51; }
.k-d52 { --d: 52; }
.k-d53 { --d: 53; }
.k-d54 { --d: 54; }
.k-d55 { --d: 55; }
.k-d56 { --d: 56; }
.k-d57 { --d: 57; }
.k-d58 { --d: 58; }
.k-d59 { --d: 59; }
.k-d60 { --d: 60; }
.k-d61 { --d: 61; }
.k-d62 { --d: 62; }
.k-d63 { --d: 63; }
.k-d64 { --d: 64; }
.k-d65 { --d: 65; }
.k-d66 { --d: 66; }
.k-d67 { --d: 67; }
.k-d68 { --d: 68; }
.k-d69 { --d: 69; }
.k-d70 { --d: 70; }
.k-d71 { --d: 71; }
.k-d72 { --d: 72; }
.k-d73 { --d: 73; }
.k-d74 { --d: 74; }
.k-d75 { --d: 75; }
.k-d76 { --d: 76; }
.k-d77 { --d: 77; }
.k-d78 { --d: 78; }
.k-d79 { --d: 79; }
.k-d80 { --d: 80; }
.k-d81 { --d: 81; }
.k-d82 { --d: 82; }
.k-d83 { --d: 83; }
.k-d84 { --d: 84; }
.k-d85 { --d: 85; }
.k-d86 { --d: 86; }
.k-d87 { --d: 87; }
.k-d88 { --d: 88; }
.k-d89 { --d: 89; }
.k-d90 { --d: 90; }
.k-d91 { --d: 91; }
.k-d92 { --d: 92; }
.k-d93 { --d: 93; }
.k-d94 { --d: 94; }
.k-d95 { --d: 95; }
.k-d96 { --d: 96; }
.k-d97 { --d: 97; }
.k-d98 { --d: 98; }
.k-d99 { --d: 99; }
.k-d100 { --d: 100; }
.k-d101 { --d: 101; }
.k-d102 { --d: 102; }
.k-d103 { --d: 103; }
.k-d104 { --d: 104; }
.k-d105 { --d: 105; }
.k-d106 { --d: 106; }
.k-d107 { --d: 107; }
.k-d108 { --d: 108; }
.k-d109 { --d: 109; }
.k-d110 { --d: 110; }
.k-d111 { --d: 111; }
.k-d112 { --d: 112; }
.k-d113 { --d: 113; }
.k-d114 { --d: 114; }
.k-d115 { --d: 115; }
.k-d116 { --d: 116; }
.k-d117 { --d: 117; }
.k-d118 { --d: 118; }
.k-d119 { --d: 119; }
.k-d120 { --d: 120; }
.k-d121 { --d: 121; }
.k-d122 { --d: 122; }
.k-d123 { --d: 123; }
.k-d124 { --d: 124; }
.k-d125 { --d: 125; }
.k-d126 { --d: 126; }
.k-d127 { --d: 127; }
.k-d128 { --d: 128; }
.k-d129 { --d: 129; }
.k-d130 { --d: 130; }
.k-d131 { --d: 131; }
.k-d132 { --d: 132; }
.k-d133 { --d: 133; }
.k-d134 { --d: 134; }
.k-d135 { --d: 135; }
.k-d136 { --d: 136; }
.k-d137 { --d: 137; }
.k-d138 { --d: 138; }
.k-d139 { --d: 139; }
.k-d140 { --d: 140; }
.k-d141 { --d: 141; }
.k-d142 { --d: 142; }
.k-d143 { --d: 143; }
.k-d144 { --d: 144; }
.k-d145 { --d: 145; }
.k-d146 { --d: 146; }
.k-d147 { --d: 147; }
.k-d148 { --d: 148; }
.k-d149 { --d: 149; }
.k-d150 { --d: 150; }
.k-d151 { --d: 151; }
.k-d152 { --d: 152; }
.k-d153 { --d: 153; }
.k-d154 { --d: 154; }
.k-d155 { --d: 155; }
.k-d156 { --d: 156; }
.k-d157 { --d: 157; }
.k-d158 { --d: 158; }
.k-d159 { --d: 159; }
.k-d160 { --d: 160; }
.k-d161 { --d: 161; }
.k-d162 { --d: 162; }
.k-d163 { --d: 163; }
.k-d164 { --d: 164; }
.k-d165 { --d: 165; }
.k-d166 { --d: 166; }
.k-d167 { --d: 167; }
.k-d168 { --d: 168; }
.k-d169 { --d: 169; }
.k-d170 { --d: 170; }
.k-d171 { --d: 171; }
.k-d172 { --d: 172; }
.k-d173 { --d: 173; }
.k-d174 { --d: 174; }
.k-d175 { --d: 175; }
.k-d176 { --d: 176; }
.k-d177 { --d: 177; }
.k-d178 { --d: 178; }
.k-d179 { --d: 179; }
.k-d180 { --d: 180; }
.k-d181 { --d: 181; }
.k-d182 { --d: 182; }
.k-d183 { --d: 183; }
.k-d184 { --d: 184; }
.k-d185 { --d: 185; }
.k-d186 { --d: 186; }
.k-d187 { --d: 187; }
.k-d188 { --d: 188; }
.k-d189 { --d: 189; }
.k-d190 { --d: 190; }
.k-d191 { --d: 191; }
.k-d192 { --d: 192; }
.k-d193 { --d: 193; }
.k-d194 { --d: 194; }
.k-d195 { --d: 195; }
.k-d196 { --d: 196; }
.k-d197 { --d: 197; }
.k-d198 { --d: 198; }
.k-d199 { --d: 199; }
.k-d200 { --d: 200; }
.k-d201 { --d: 201; }
.k-d202 { --d: 202; }
.k-d203 { --d: 203; }
.k-d204 { --d: 204; }
.k-d205 { --d: 205; }
.k-d206 { --d: 206; }
.k-d207 { --d: 207; }
.k-d208 { --d: 208; }
.k-d209 { --d: 209; }
.k-d210 { --d: 210; }
.k-d211 { --d: 211; }
.k-d212 { --d: 212; }
.k-d213 { --d: 213; }
.k-d214 { --d: 214; }
.k-d215 { --d: 215; }
.k-d216 { --d: 216; }
.k-d217 { --d: 217; }
.k-d218 { --d: 218; }
.k-d219 { --d: 219; }
.k-d220 { --d: 220; }
.k-d221 { --d: 221; }
.k-d222 { --d: 222; }
.k-d223 { --d: 223; }
.k-d224 { --d: 224; }
.k-d225 { --d: 225; }
.k-d226 { --d: 226; }
.k-d227 { --d: 227; }
.k-d228 { --d: 228; }
.k-d229 { --d: 229; }
.k-d230 { --d: 230; }
.k-d231 { --d: 231; }
.k-d232 { --d: 232; }
.k-d233 { --d: 233; }
.k-d234 { --d: 234; }
.k-d235 { --d: 235; }
.k-d236 { --d: 236; }
.k-d237 { --d: 237; }
.k-d238 { --d: 238; }
.k-d239 { --d: 239; }
.k-d240 { --d: 240; }
.k-d241 { --d: 241; }
.k-d242 { --d: 242; }
.k-d243 { --d: 243; }
.k-d244 { --d: 244; }
.k-d245 { --d: 245; }
.k-d246 { --d: 246; }
.k-d247 { --d: 247; }
.k-d248 { --d: 248; }
.k-d249 { --d: 249; }
.k-d250 { --d: 250; }
.k-d251 { --d: 251; }
.k-d252 { --d: 252; }
.k-d253 { --d: 253; }
.k-d254 { --d: 254; }
.k-d255 { --d: 255; }
.k-d256 { --d: 256; }
.k-d257 { --d: 257; }
.k-d258 { --d: 258; }
.k-d259 { --d: 259; }
.k-d260 { --d: 260; }
.k-d261 { --d: 261; }
.k-d262 { --d: 262; }
.k-d263 { --d: 263; }
.k-d264 { --d: 264; }
.k-d265 { --d: 265; }
.k-d266 { --d: 266; }
.k-d267 { --d: 267; }
.k-d268 { --d: 268; }
.k-d269 { --d: 269; }
.k-d270 { --d: 270; }
.k-d271 { --d: 271; }
.k-d272 { --d: 272; }
.k-d273 { --d: 273; }
.k-d274 { --d: 274; }
.k-d275 { --d: 275; }
.k-d276 { --d: 276; }
.k-d277 { --d: 277; }
.k-d278 { --d: 278; }
.k-d279 { --d: 279; }
.k-d280 { --d: 280; }
.k-d281 { --d: 281; }
.k-d282 { --d: 282; }
.k-d283 { --d: 283; }
.k-d284 { --d: 284; }
.k-d285 { --d: 285; }
.k-d286 { --d: 286; }
.k-d287 { --d: 287; }
.k-d288 { --d: 288; }
.k-l0 { --l: 0; }
.k-l1 { --l: 1; }
.k-l2 { --l: 2; }
.k-l3 { --l: 3; }
.k-l4 { --l: 4; }
.k-l5 { --l: 5; }
.k-l6 { --l: 6; }
.k-l7 { --l: 7; }
.k-n1 { --n: 1; }
.k-n2 { --n: 2; }
.k-n3 { --n: 3; }
.k-n4 { --n: 4; }
.k-n5 { --n: 5; }
.k-n6 { --n: 6; }
.k-n7 { --n: 7; }
.k-n8 { --n: 8; }
.k-h12 .k-koerper { height: calc(12 * var(--k-einheit)); }
.k-h24 .k-koerper { height: calc(24 * var(--k-einheit)); }
.k-h36 .k-koerper { height: calc(36 * var(--k-einheit)); }
.k-h48 .k-koerper { height: calc(48 * var(--k-einheit)); }
.k-h60 .k-koerper { height: calc(60 * var(--k-einheit)); }
.k-h72 .k-koerper { height: calc(72 * var(--k-einheit)); }
.k-h84 .k-koerper { height: calc(84 * var(--k-einheit)); }
.k-h96 .k-koerper { height: calc(96 * var(--k-einheit)); }
.k-h108 .k-koerper { height: calc(108 * var(--k-einheit)); }
.k-h120 .k-koerper { height: calc(120 * var(--k-einheit)); }
.k-h132 .k-koerper { height: calc(132 * var(--k-einheit)); }
.k-h144 .k-koerper { height: calc(144 * var(--k-einheit)); }
.k-h156 .k-koerper { height: calc(156 * var(--k-einheit)); }
.k-h168 .k-koerper { height: calc(168 * var(--k-einheit)); }
.k-h180 .k-koerper { height: calc(180 * var(--k-einheit)); }
.k-h192 .k-koerper { height: calc(192 * var(--k-einheit)); }
.k-h204 .k-koerper { height: calc(204 * var(--k-einheit)); }
.k-h216 .k-koerper { height: calc(216 * var(--k-einheit)); }
.k-h228 .k-koerper { height: calc(228 * var(--k-einheit)); }
.k-h240 .k-koerper { height: calc(240 * var(--k-einheit)); }
.k-h252 .k-koerper { height: calc(252 * var(--k-einheit)); }
.k-h264 .k-koerper { height: calc(264 * var(--k-einheit)); }
.k-h276 .k-koerper { height: calc(276 * var(--k-einheit)); }
.k-h288 .k-koerper { height: calc(288 * var(--k-einheit)); }

/* ------------------------------------------------------------ Planung > Theorie (Punkt 13) */
.th-box .k-wahl { margin-top: 12px; }
.th-termin { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 24px; margin: 12px 0 0; }
.th-termin dt { font-size: 14px; color: var(--text-gedaempft); margin: 0 0 2px; }
.th-termin dd { margin: 0; font-size: 14px; color: var(--text); }
.th-auswahl { margin: 12px 0 0; }
.th-auswahl > .aktionen { align-items: center; }
.th-haken { width: 44px; text-align: center; }
.th-zaehler { margin-right: auto; }
.th-termin-wahl { display: inline-flex; align-items: center; gap: 8px; }
.th-termin-wahl select { min-width: 260px; max-width: 420px; }
.th-warten-liste { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.th-warten-liste > li { padding: 6px 8px; }
.th-warten-liste .k-warnliste { margin: 6px 0 0 26px; }
.th-einbuchen { margin-top: 12px; }
