/* ABIS Kursmappe · übernommen aus der gewählten Vorschau A (v62) */
/* Gemeinsame Grundlage der drei Vorschauen: Farben und Schrift aus dem ABIS-Hausstil.
   Orange nur fuer die Hauptaktion. Hervorhebung durch Balken links oder Rahmen. */
@font-face{font-family:"Inter";font-weight:400 700;font-display:swap;
  src:url("inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-21FF,U+2212,U+25A0-25FF}
@font-face{font-family:"Inter";font-weight:400 700;font-display:swap;
  src:url("inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF}

:root{
  --ink:#282320; --soft:#71685F; --paper:#F6F4F0; --surface:#FFFFFF;
  --line:#E6E1D8; --line-strong:#D6CFC4; --zebra:#FAF8F5;
  --accent:#F74E2C; --accent-deep:#CE3A1B;
  --petrol:#0F6E78;
  --ok:#1E7B4F; --warn:#B07A10; --alert:#BE3226; --mute:#A39B92;
  --r:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:var(--paper);
  font-size:14px;line-height:1.45;font-feature-settings:"tnum","cv11";-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Knoepfe: hell mit Rahmen; nur .haupt ist orange */
.knopf{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-strong);
  border-radius:var(--r);background:var(--surface);cursor:pointer;text-decoration:none;font-size:13px;white-space:nowrap}
.knopf:hover{border-color:var(--ink)}
.knopf.haupt{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.knopf.haupt:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.knopf.leise{padding:3px 8px;font-size:12px;color:var(--soft)}

.leiste{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.leiste .fuell{flex:1}
.hinweis{color:var(--soft);font-size:13px}
.filter{padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);width:180px}

.klein{font-size:12.5px;color:var(--soft)}
.mono{font-size:12.5px;color:var(--soft);letter-spacing:.01em}
.zahl{text-align:right;white-space:nowrap}
.mitte{text-align:center}
.rechts{text-align:right}
.datum{white-space:nowrap;color:var(--soft)}
.kuerzel{display:inline-block;font-size:11.5px;font-weight:600;padding:0 6px;border:1px solid var(--line-strong);
  border-radius:4px;color:var(--soft);vertical-align:1px;white-space:nowrap}
.kuerzel.alt{text-decoration:line-through;text-decoration-color:var(--mute)}
a.name{text-decoration:none;font-weight:500}
a.name:hover{text-decoration:underline;text-underline-offset:3px}

/* Ampel: Punkt + Text, nie farbige Flaeche */
.ampel{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ampel i{width:9px;height:9px;border-radius:50%;background:var(--mute);flex:none}
.ampel.gruen i{background:var(--ok)} .ampel.gelb i{background:var(--warn)} .ampel.rot i{background:var(--alert)}
.ampel.rot{color:var(--alert);font-weight:600}

.status{font-size:13px;white-space:nowrap}
.status.s-ausgestiegen,.status.s-ruht{color:var(--soft)}
.status.s-ruht::before{content:"◐ ";color:var(--warn)}
.status.s-Gast::before{content:"↪ "}

/* Tabellen wie gute Excel-Blaetter */
.blatt{width:100%;border-collapse:collapse;background:var(--surface);font-size:13.5px}
.blatt th{position:sticky;top:0;background:var(--surface);text-align:left;font-weight:600;font-size:12px;
  color:var(--soft);padding:8px 10px;border-bottom:1px solid var(--line-strong);z-index:1}
.blatt td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.blatt tbody tr:nth-child(even) td{background:var(--zebra)}
.blatt tbody tr:hover td{background:#F3EFE9}
.blatt tr.grau td{color:var(--mute)}
.blatt tr.grau a.name{color:var(--mute)}
.blatt tr.vorbei td{color:var(--soft)}
.blatt tr.jetzt td:first-child,.liste tr.jetzt td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.blatt tr.mehr td{color:var(--soft);font-style:italic}
.blatt select,.liste select{border:1px solid var(--line);border-radius:4px;background:transparent;padding:1px 4px;font-size:13px}
.faellig{color:var(--alert)!important;font-weight:600}
.zwischen{margin:26px 0 10px;font-size:15px;font-weight:600}
.zwischen .zahl,.kachel h2 .zahl{font-size:12px;font-weight:600;color:var(--soft);margin-left:6px}
select.st-Mahnung{color:var(--alert);font-weight:600;border-color:var(--alert)}

/* Anwesenheitsmatrix */
.matrix-rahmen{overflow:auto;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);max-height:calc(100vh - 230px)}
.matrix{border-collapse:separate;border-spacing:0;font-size:13px}
.matrix th,.matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 6px;background:var(--surface)}
.matrix thead th{position:sticky;top:0;z-index:2;font-size:11.5px;font-weight:600;color:var(--soft);text-align:center}
.matrix thead tr:nth-child(2) th{top:27px}
.matrix th.sem{border-left:2px solid var(--line-strong);white-space:nowrap}
.matrix .kopfspalte{position:sticky;left:0;z-index:1;text-align:left;font-weight:400;min-width:190px;white-space:nowrap;border-right:2px solid var(--line-strong)}
.matrix thead .kopfspalte{z-index:3}
.matrix tbody tr:nth-child(even) td,.matrix tbody tr:nth-child(even) th{background:var(--zebra)}
.matrix td.z{width:34px;min-width:34px;text-align:center;cursor:cell}
.matrix td.z:focus{outline:2px solid var(--accent);outline-offset:-2px}
.matrix td.f{font-weight:600;color:var(--warn)}
.matrix td.f.rot{color:var(--alert)}
.matrix td.da{color:var(--ok);font-weight:600}                 /* ✓ = war da, ausdrücklich eingetragen (Claudia 01.10.2026) */
.matrix td.spaeter{background:#FAF8F5!important}               /* Seminartag liegt noch vor uns */
.matrix th.tag .alle-da{display:block;margin:1px 0 0;line-height:1}
.matrix th.tag .alle-da button{font:inherit;font-size:9px;line-height:13px;font-weight:500;white-space:nowrap;border:1px solid var(--line);border-radius:7px;padding:0 4px;background:var(--surface);color:var(--soft);cursor:pointer}   /* klein und leise (Claudia 01.10.2026) */
.matrix th.tag .alle-da button:hover{border-color:var(--ink);color:var(--ink)}
.matrix td.aus{color:var(--line-strong)}
.matrix td.ruht{font-size:10.5px;color:var(--soft)}
.matrix td.leer{background:repeating-linear-gradient(135deg,transparent 0 5px,#F4F1EC 5px 6px)!important}
.matrix td.gz{color:var(--ok);font-weight:600}
.matrix tr.trenner td{background:var(--paper)!important;font-size:11.5px;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.08em;padding:6px 10px}
.matrix tr.gast th{box-shadow:inset 3px 0 0 var(--line-strong)}
.matrix tr.grau th,.matrix tr.grau td{color:var(--mute)}
.matrix .summe{white-space:nowrap}
.matrix.zert th.namekopf{writing-mode:vertical-rl;transform:rotate(180deg);text-align:left;padding:10px 6px;height:120px;vertical-align:bottom}
.matrix.zert td{padding:8px 10px}
.matrix.zert tr.weg th,.matrix.zert tr.weg td{border-top:2px solid var(--line-strong)}

/* Startseite */
.start-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kachel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.kachel h2{font-size:14px;font-weight:600;margin-bottom:8px}
.liste{width:100%;border-collapse:collapse}
.liste td{padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}
.liste td.datum{width:96px;font-size:12.5px;padding-top:10px}
.liste tr.ueber td:first-child{box-shadow:inset 3px 0 0 var(--alert);color:var(--alert);font-weight:600;padding-left:10px}
.liste tr.jetzt td:first-child{padding-left:10px;color:var(--ink);font-weight:600}

/* Akte */
.akte-kopf{display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:start;margin-bottom:22px}
.akte-name{font-size:22px;font-weight:600;letter-spacing:-.01em}
.akte-kurse{grid-column:1;display:flex;gap:8px;align-items:center}
.akte-aktionen{grid-column:2;grid-row:1/3;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.zeitleiste{list-style:none;position:relative;padding-left:0;max-width:820px}
.zeitleiste li{display:grid;grid-template-columns:84px 130px 1fr;gap:12px;padding:10px 0 10px 14px;border-left:2px solid var(--line-strong);position:relative}
.zeitleiste li::before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}
.zeitleiste li.heute{border-left-color:var(--accent)}
.zeitleiste li.heute::before{border-color:var(--accent);background:var(--accent)}
.zeitleiste li.art-Ausstieg::before,.zeitleiste li.art-Umstieg::before,.zeitleiste li.art-Unterbrechung::before{border-color:var(--ink)}
.zeitleiste .datum{font-size:12.5px;padding-top:1px}

@media (max-width:1000px){.start-raster{grid-template-columns:1fr}}
@media (max-width:700px){
  .zeitleiste li{grid-template-columns:70px 1fr}.zeitleiste li span:last-child{grid-column:2}
  .akte-kopf{grid-template-columns:1fr}.akte-aktionen{grid-column:1;grid-row:auto;justify-content:flex-start}
}
.matrix.zert td{min-width:78px}
.mono,a.name{white-space:nowrap}
/* Tablet: breite Tabellen rollen seitlich, statt Zellen zu quetschen */
@media (max-width:1000px){.blatt{display:block;overflow-x:auto;white-space:nowrap}.blatt td .klein{white-space:normal}}
.rollen{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.rollen .blatt{white-space:nowrap}
input[type=radio],input[type=checkbox]{accent-color:var(--ink)}
.blatt.gruppiert td{white-space:nowrap}

/* Runde 3: Überschriften folgen der Ausrichtung ihrer Spalte */
.blatt th.zahl,.matrix th.zahl{text-align:right}
.blatt th.mitte{text-align:center}
.blatt.kompakt{width:auto;min-width:0}
.blatt.kompakt td,.blatt.kompakt th{padding-left:14px;padding-right:14px}

/* Auswahl ruhig: Segmente statt dicker Ovale */
.knopfreihe{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--surface)}
.knopfreihe .wahl{border:0;border-radius:0;border-left:1px solid var(--line);padding:4px 11px;font-size:12.5px;color:var(--soft);background:transparent;box-shadow:none;font-weight:400}
.knopfreihe .wahl:first-child{border-left:0}
.knopfreihe .wahl:hover{color:var(--ink);background:var(--paper)}
.knopfreihe .wahl.an{background:#ECE7DF;color:var(--ink);font-weight:600;box-shadow:none}
.blatt select.feld{min-width:140px;width:auto;border-color:var(--line)}
.blatt td.rechts{white-space:nowrap}
.zertliste td{white-space:nowrap}.zertliste td:first-child{white-space:normal}

/* Runde 5: Tabellen ruhig und bündig */
.blatt td{vertical-align:middle}
.blatt.fest{table-layout:fixed}
.blatt.fest td{overflow:hidden;text-overflow:ellipsis}
.blatt.fest td.klein{white-space:normal}
.blatt .feld{vertical-align:middle}
.blatt select.feld{min-width:0;width:100%}
.feld.voll{width:100%}
.blatt th{white-space:nowrap}

/* Runde 7: Marken sauber auf der Textlinie */
.kuerzel{display:inline-block;height:20px;line-height:18px;padding:0 6px;vertical-align:middle}
.kuerzel + .klein,.kuerzel + span{vertical-align:middle}
.todo{display:inline-block!important;min-width:20px;height:20px;line-height:18px;padding:0 5px;text-align:center;border-radius:10px;font-size:11.5px;vertical-align:middle;box-sizing:border-box}
td.rechts .todo + span,td.rechts .todo + .faellig,td.rechts .todo + .warn-text{margin-left:8px;vertical-align:middle}
td.rechts .faellig,td.rechts .warn-text{vertical-align:middle;font-size:13px}

/* ---- Seitenrahmen und Bausteine aus a-komplett.html ---- */

/* A komplett: Seitenleiste links, Reiter oben, Unterreiter darunter */
.app{display:grid;grid-template-columns:256px 1fr;min-height:100vh}   /* 256 statt 232: Seitenleiste nach Claudias Bild 3 (28.09.2026) */
.seite{background:var(--surface);border-right:1px solid var(--line);padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:2px}
.marke{display:flex;align-items:center;gap:10px;padding:0 8px 16px}
.marke img{height:30px}
.marke b{font-size:14px;font-weight:600;display:block;line-height:1.2}
.marke span{font-size:11.5px;color:var(--soft)}
.seite input{margin:0 4px 12px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--paper)}
.seite h6{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600;padding:14px 10px 4px}
.seite a{display:flex;justify-content:space-between;padding:7px 10px;border-radius:var(--r);text-decoration:none;font-size:13.5px;border-left:3px solid transparent}
.seite a:hover{background:var(--paper)}
.seite a.an{border-left-color:var(--accent);background:var(--paper);font-weight:600}
.seite a small{color:var(--soft);font-weight:400}
.seite .unten{margin-top:auto;font-size:12px;color:var(--soft);padding:10px}
main{padding:20px 32px 40px;min-width:0}
.zurueck{font-size:13px;color:var(--soft);text-decoration:none;display:inline-block;margin-bottom:4px}
main > .zurueck{display:block;width:max-content;margin:-4px 0 6px}
@media print{.zurueck{display:none}}
.zurueck:hover{color:var(--ink)}
h1{font-size:22px;font-weight:600;letter-spacing:-.01em}
.kursinfo{color:var(--soft);font-size:13px;margin:2px 0 14px}
.seitentitel{margin-bottom:16px}
.reiter{display:flex;gap:24px;border-bottom:1px solid var(--line-strong);margin-bottom:14px;overflow-x:auto}
.reiter a{padding:8px 0 10px;text-decoration:none;color:var(--soft);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.reiter a.an{color:var(--ink);border-bottom-color:var(--accent)}
.unterreiter{display:flex;gap:4px;margin-bottom:16px}
.unterreiter a{padding:5px 12px;border:1px solid var(--line);border-radius:20px;text-decoration:none;font-size:13px;color:var(--soft);background:var(--surface)}
.unterreiter a.an{background:#ECE7DF;border-color:#ECE7DF;color:var(--ink);font-weight:600}

/* Formulare und Felder */
.feld{width:100%;padding:5px 8px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:13.5px}
.feld:hover{border-color:var(--line)}
.feld:focus{border-color:var(--line-strong);background:var(--surface);outline:none;box-shadow:inset 3px 0 0 var(--accent)}
td .feld{padding:3px 6px}
.feld.zahl{width:80px;text-align:right}
table.felder{width:100%;border-collapse:collapse}
table.felder th{text-align:left;font-weight:500;color:var(--soft);font-size:13px;padding:5px 12px 5px 0;width:44%;vertical-align:middle}
table.felder td{padding:2px 0;border-bottom:1px solid var(--line)}
table.rechnung td{padding:7px 0}
table.rechnung th{width:auto}
table.rechnung tr.linie th,table.rechnung tr.linie td{border-top:2px solid var(--line-strong);color:var(--ink)}
.zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.summenzeile td{font-weight:600;border-top:2px solid var(--line-strong)}
.blatt.schmal{width:auto;min-width:520px}

/* Kalkulation */
.kalk{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
.spiel label{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13px;color:var(--soft);margin-bottom:12px}
.spiel label input[type=range]{grid-column:1/3;accent-color:var(--accent)}
.spiel label input[type=number]{border-color:var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600}
.spiel output{font-weight:600;color:var(--ink)}
.ergebnis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.ergebnis div{border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;display:flex;flex-direction:column}
.ergebnis b{font-size:16px}
.ergebnis .minus{box-shadow:inset 3px 0 0 var(--alert)} .ergebnis .minus b{color:var(--alert)}
.ergebnis .plus{box-shadow:inset 3px 0 0 var(--ok)}
.ergebnis .ab{border-color:var(--ink)}
.stufen{margin-bottom:10px;overflow-x:auto}
.stufen td.minus{color:var(--alert)}
.stufen td.grenze{box-shadow:inset 0 -2px 0 var(--ink);font-weight:600}

/* Akte */
.akte-raster{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}
.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:14px}
.block h3,.block summary{font-size:13px;font-weight:600;margin-bottom:6px;cursor:default}
details.block summary{cursor:pointer}
.verlauf{position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;max-height:calc(100vh - 40px);overflow:auto}
.verlauf h3{font-size:13px;font-weight:600;margin-bottom:8px}
.verlauf .zeitleiste li{grid-template-columns:64px 1fr;gap:4px 10px}
.verlauf .zeitleiste li span:last-child{grid-column:2;color:var(--soft);font-size:13px}
.aenderungen td.datum{width:64px}

/* SEPA-Lauf und Telefon */
.lauf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--accent);border-radius:var(--r);padding:12px 16px;margin-bottom:12px}
.lauf .fuell{flex:1}
.anruf-raster{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.anruf-raster label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--soft)}
.anruf-raster .feld{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
.anruf-raster .breit{grid-column:1/3}
.anruf-aktionen{display:flex;gap:8px;align-items:end}
.knopfreihe{display:flex;flex-wrap:wrap;gap:4px}
.wahl{padding:5px 10px;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface);cursor:pointer;font-size:12.5px;color:var(--ink)}
.wahl.an{border-color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--ink)}
.klein-wahl .wahl{padding:2px 9px}

/* Runde 2 */
.rahmen{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.rahmen .blatt{border:0}
.blatt tfoot td{font-weight:600;border-top:2px solid var(--line-strong);padding:8px 10px;background:var(--surface)}
.blatt.gruppiert tr.gruppe td{background:var(--paper)!important;padding:9px 10px 6px;border-bottom:1px solid var(--line-strong);font-size:13px}
.blatt.gruppiert tr.gruppe.vorbei td{color:var(--soft)}
.blatt.gruppiert tbody tr:not(.gruppe) td{background:var(--surface)}
.blatt .einzug{padding-left:22px}
.blatt tr.oberkopf th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px 2px;border-bottom:0;position:static}
.blatt th.stufe1,.blatt td.stufe1{box-shadow:inset 2px 0 0 var(--line-strong)}
.blatt th.stufe2{box-shadow:inset 2px 0 0 var(--line-strong)}
td.geaendert{font-weight:600}
.offen-marke{display:inline-block;font-size:11px;padding:0 5px;border:1px solid var(--warn);color:var(--warn);border-radius:4px;margin-left:4px}
.feld.kurz{width:84px}
.feld.zahl.kurz{width:60px}
.leiste.senkrecht{flex-direction:column;align-items:stretch}
.zwei.eng{grid-template-columns:1.4fr 1fr;margin-bottom:14px}
.paar{display:flex;gap:8px}
.paar .feld{flex:1}
.eingabe-feld{border-color:var(--line-strong)!important;background-color:var(--surface)!important}
.schalter{display:inline-flex;gap:6px;align-items:center;font-size:13.5px}


/* LT-Besetzung Runde 3 */
.bes-summe{display:flex;gap:28px;align-items:center;padding:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;font-size:13.5px}
.bes-liste{display:flex;flex-direction:column;gap:10px}
.bes-sem{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.bes-sem header{display:flex;gap:12px;align-items:baseline;padding:10px 16px;border-bottom:1px solid var(--line)}
.bes-sem header .nr{font-weight:600;color:var(--soft);min-width:28px}
.bes-sem header .fuell{flex:1}
.bes-sem header .zahl{font-weight:600}
.bes-sem.vorbei header b,.bes-sem.vorbei header .zahl{color:var(--soft);font-weight:500}
.bes-zeile{display:grid;grid-template-columns:minmax(150px,1fr) 88px minmax(0,2fr) 150px 76px 150px;gap:12px;align-items:center;padding:8px 16px 8px 44px;border-top:1px solid var(--line)}
.bes-sem header + .bes-zeile{border-top:0}
.bes-zeile .tage s{color:var(--mute)}
.schritte{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}
.schritt{white-space:nowrap}
.schritt-trenner{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);border-left:1px solid var(--line-strong);padding-left:10px}
@media (max-width:980px){.bes-zeile{grid-template-columns:1fr 90px 1fr;padding-left:16px}.bes-zeile .schritte{grid-column:1/-1}}


/* Zertifizierung Runde 3 */
.zertliste td{padding-top:9px;padding-bottom:9px}
.erfuellt{color:var(--ok);font-weight:500;white-space:nowrap}
.leer{color:var(--mute)}
.fort{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;font-weight:500}
.fort small{color:var(--soft);font-weight:400}
.fort i{display:block;width:54px;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.fort i b{display:block;height:100%;background:var(--mute)}
.stand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.stand i{display:inline-flex;gap:2px}
.stand i b{width:7px;height:12px;border-radius:2px;background:var(--line)}
.stand i b.an{background:var(--ok)}
.zertliste td:first-child{font-weight:500}
/* Zahlungen Runde 3 */
.aufgaben{background:var(--surface);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--warn);border-radius:var(--r);padding:12px 16px;margin-bottom:14px}
.aufgaben h3{font-size:13px;font-weight:600;margin-bottom:6px}
.aufgabe{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:5px 0;border-top:1px solid var(--line);font-size:13.5px}
.aufgaben h3 + .aufgabe{border-top:0}
.aufgaben .knopf{margin-top:6px}
.lex-rueck{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding:12px 14px;background:var(--paper);border-radius:var(--r);margin-top:6px}
.lex-rueck label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft)}
.lex-rueck .feld{min-width:170px}
.feld.notiz{min-width:220px}
.schalter-zeile span{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--ink)}


/* Stammdaten: Ansehen und Bearbeiten */
.block h3{display:flex;align-items:center;justify-content:space-between}
.block .bearb{font-weight:400}
.block.lesbar:not(.bearbeiten) > table.felder .feld{pointer-events:none;border-color:transparent!important;background:transparent!important;padding-left:0}
.block.lesbar:not(.bearbeiten) > table.felder .haken input{pointer-events:none}
.block.bearbeiten{box-shadow:inset 3px 0 0 var(--accent)}
.block.bearbeiten .feld{border-color:var(--line-strong);background:var(--surface)}
.block.bearbeiten .bearb{display:none}
.block-fuss{display:none;gap:8px;align-items:center;margin-top:10px}
.block.bearbeiten .block-fuss{display:flex}
.haken{display:inline-flex;gap:8px;align-items:center;font-size:13.5px;padding:4px 0}
/* Eingabemaske */
.maske-seite{display:flex;flex-direction:column;gap:16px;max-width:980px}
.maske-raster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.maske-raster label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--soft)}
.maske-raster .breit2{grid-column:span 2}
.maske-raster .breit4{grid-column:1/-1}
.maske-raster .feld,.maske-raster textarea{color:var(--ink)}
/* Infoabend: die zwei festen To-dos (Claudia 02.10.2026) */
.info-tun{list-style:none;margin:10px 0 0;padding:0;font-size:13.5px;display:flex;flex-direction:column;gap:4px}
/* Lehrtrainer:innen › Übersicht je Jahr (Claudia 02.10.2026) */
.lj h2{font-size:15px;margin:0 0 8px}.lj table.blatt td.zahl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lj-summe td{font-weight:600;border-top:2px solid var(--line)}.lj table.blatt{width:100%}.lj table.blatt td{vertical-align:top}.lj-kurse{white-space:normal;max-width:420px;margin-top:2px}
/* Person aufnehmen: Anmelde-Mail der Website einfügen (Claudia 02.10.2026, Idee A) */
.pn-einfuegen{box-shadow:inset 3px 0 0 var(--accent);margin:0 0 14px}.pn-einfuegen h2{font-size:15px;margin:0 0 8px}
.pn-einfuegen textarea{font:12.5px/1.5 ui-monospace,Menlo,monospace;color:var(--soft);width:100%}
.pn-reihe{display:flex;gap:12px;align-items:center;margin-top:10px}.pn-offen{margin:10px 0 0;padding-left:18px;font-size:13px}
.feld.aus-mail,.pn-aus{background:#ECE7DF}
.aehnlich{padding:10px 14px;border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--warn);border-radius:var(--r);background:var(--surface);font-size:13.5px}
.maske-aktionen{display:flex;gap:10px;align-items:center}
.knopfreihe.gross .wahl{padding:7px 16px;font-size:13.5px}
@media (max-width:900px){.maske-raster{grid-template-columns:1fr 1fr}}


/* Infoveranstaltungen Runde 3 */
.info-raster{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.info-liste{display:flex;flex-direction:column;gap:6px;position:sticky;top:16px}
.info-liste h6{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600;margin:12px 2px 2px}
.info-karte{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none}
.info-karte.an{box-shadow:inset 3px 0 0 var(--accent);border-color:var(--line-strong)}
/* Übersicht der Infoabende über die ganze Breite; der gewählte Abend steht auf seiner eigenen Seite (Claudia 01.10.2026) */
.info-uebersicht{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;align-items:start}
.info-uebersicht h6,.info-uebersicht details.block,.info-uebersicht > p{grid-column:1 / -1}
.info-uebersicht h6{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600;margin:12px 2px 2px}
.info-uebersicht details.block{max-width:520px}
/* Infoabend, Eintragen am Abend (Claudia 01.10.2026, Idee B): Schalter wie sonst in der App – gewählt = beige Fläche und fett, keine Farbflächen, keine dunkle Umrandung */
.info-zeile{cursor:pointer}
.info-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--surface)}
.info-seg label{padding:4px 8px;font-size:12.5px;color:var(--soft);cursor:pointer;white-space:nowrap;border-left:1px solid var(--line)}
.info-seg label:first-child{border-left:0}
.info-seg label:has(input:checked){background:#ECE7DF;color:var(--ink);font-weight:600}
.info-seg input,.info-chips input{position:absolute;opacity:0;width:1px;height:1px}
.info-seg label:has(input:focus-visible),.info-chips label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:1px}
.info-offen h6{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600;margin:12px 0 5px}
.info-offen form > h6:first-of-type{margin-top:0}
.info-chips{display:flex;flex-wrap:wrap;gap:5px}
.info-chips label.wahl:has(input:checked){background:#ECE7DF;border-color:var(--line-strong);font-weight:600;box-shadow:none}   /* gewählt = beige Fläche wie bei den Filtern; die dunkle Umrandung war Claudia zu schwarz (01.10.2026) */
.info-zwei{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:12px}
.info-zwei h6{margin-top:0}
.info-zwei > div:only-child{grid-column:1 / -1;max-width:420px}
.info-offen textarea,.info-offen input[name="telefon"]{width:100%}
.info-klein{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:10px;font-size:12.5px;color:var(--soft)}
.info-klein label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.info-klein select,.info-klein input{width:auto}
.info-aufgabe{display:flex;gap:8px;align-items:center;font-size:13px;line-height:1.7}
.info-aufgabe a{color:var(--ink);text-decoration:none}.info-aufgabe a:hover{text-decoration:underline}
.info-aufgabe .klein{margin-left:auto;white-space:nowrap}
.info-aufgabe .haken-rund{width:14px;height:14px;flex:none}
.info-neu{margin-top:4px}.info-neu summary{cursor:pointer;list-style:none;color:var(--soft)}.info-neu form{margin:8px 0 0}
.info-karte.vorbei b{color:var(--soft);font-weight:500}
.info-detail{display:flex;flex-direction:column;gap:14px;min-width:0}
.info-kopf{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:10px}
.kachel .info-titel{font-size:19px;font-weight:600;margin:2px 0}
.info-zahlen{display:flex;gap:18px;font-size:13px;color:var(--soft)}
.info-zahlen b{color:var(--ink);font-size:17px;margin-right:3px}
.info-felder th{width:140px!important}
.info-tabelle td{vertical-align:middle}
.info-tabelle .feld.bemerkung{display:block;font-size:12.5px;color:var(--soft);padding:2px 0;margin-top:2px}
.info-tabelle .feld.bemerkung:placeholder-shown{opacity:.6}
.info-tabelle select.feld{width:auto;border-color:var(--line)}
@media (max-width:1000px){.info-raster{grid-template-columns:1fr}.info-liste{position:static}}


/* Runde 4 */
.gruppenkopf{font-size:14px;font-weight:600;margin:22px 0 8px;display:flex;gap:10px;align-items:baseline}
.gruppenkopf.rot{color:var(--alert)}
.ablauf{margin:-4px 0 4px}
.todo{border:1px solid var(--warn);color:var(--warn);font-weight:600;text-decoration:none}
.todo:hover{background:var(--paper)}
.filterleiste{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.filter.gross{width:320px}
.aufgabenliste td{vertical-align:middle}
.aufgabenliste .haken-zelle{width:34px}
.aufgabenliste td.datum{width:80px}
a.wahl{text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.zertliste th small{display:block;font-weight:400;color:var(--soft)}
.zertliste .stand i b.an{background:#6F665D}
.fort{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px}
.fort small{color:var(--soft);font-weight:400;margin-left:1px}
.warn-text{color:var(--warn);font-weight:600}


/* Aufgaben Runde 5 */
.rueckmeldungen{background:var(--surface);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--ok);border-radius:var(--r);padding:12px 16px;margin-bottom:6px}
.rueckmeldungen h3{font-size:13px;font-weight:600;margin-bottom:6px}
.rueckmeldung{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:start;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.rueckmeldungen h3 + .rueckmeldung{border-top:0}
.erledigen{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 18px;align-items:end}
.erledigen label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--soft)}
.erledigen .breit{grid-column:1/-1}
.erledigen textarea{color:var(--ink)}
.erledigen-fuss{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.aufgabenliste td.rechts{text-align:right}


/* Runde 6 */
.besetzung tr.gruppe td{background:var(--paper)!important;border-bottom:1px solid var(--line-strong);padding:9px 12px}
.besetzung tr.gruppe td:first-child b{display:inline-block;width:34px}
.besetzung tr.gruppe .datum{margin-right:12px}
.besetzung tr.gruppe .klein{margin-left:10px}
.besetzung tr.gruppe td.zahl{font-weight:600}
.besetzung tr.gruppe.vorbei td{color:var(--soft)}
.besetzung tbody tr:not(.gruppe) td{background:var(--surface)!important}
.besetzung td.einzug{padding-left:46px}
.ablauf-zeile{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px}
.ablauf-zeile.anpassung{margin-top:3px;padding-top:3px;border-top:1px dashed var(--line)}
tr.aendern td{background:var(--paper)!important}
.aendern-maske{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;padding:4px 0 4px 34px}
.aendern-maske label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft)}
.aendern-maske .feld{width:auto;min-width:90px}
.leise-kopf{color:var(--soft)}
.grau-tabelle td{color:var(--soft)}
.personen-gruppen .gruppenkopf{margin-top:18px}
.blatt.luftig td{padding:9px 14px;border-bottom:1px solid var(--line)}
.blatt.luftig tbody tr:nth-child(even) td{background:var(--surface)}
.kennung-klein{display:inline-block;margin-left:10px;font-size:11.5px;color:var(--mute);letter-spacing:.01em}
.leise-gruppe .rahmen{opacity:.75}


/* Personen aufklappbar */
.personen-gruppen{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pgruppe{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.pgruppe > summary,.pkurs > summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:baseline;padding:12px 16px}
.pgruppe > summary::-webkit-details-marker,.pkurs > summary::-webkit-details-marker{display:none}
.pgruppe > summary::before,.pkurs > summary::before{content:"›";display:inline-block;width:12px;color:var(--soft);transition:transform .15s}
.pgruppe[open] > summary::before,.pkurs[open] > summary::before{transform:rotate(90deg)}
.pg-hinweis{margin-left:auto;font-size:12.5px;color:var(--warn);font-weight:500}
.pg-inhalt{padding:0 12px 12px}
.pkurs{border-top:1px solid var(--line)}
.pkurs > summary{padding:9px 6px}
.pkurs .rahmen{margin:0 0 8px 18px}
.pgruppe > .pg-inhalt > .rahmen{margin-left:18px}
.pgruppe.leise-gruppe summary b{color:var(--soft)}


/* Personen: Kreise in festen Spalten */
.pg-spaltenkopf{display:flex;align-items:center;padding:4px 10px 4px 16px;font-size:12px;font-weight:600;color:var(--soft)}
.pg-spaltenkopf .klein{flex:1;font-weight:400}
.slot{display:inline-flex;width:76px;justify-content:center;flex:none}
td.slot{display:table-cell;text-align:center;padding:6px 0!important}
.pgruppe > summary,.pkurs > summary{padding:10px 10px 10px 16px;align-items:center;gap:0}
.pgruppe > summary::before,.pkurs > summary::before{margin-right:10px}
.pg-titel{flex:1;display:flex;gap:10px;align-items:baseline}
.pg-inhalt{padding:0}
.pkurs > summary{padding-left:34px}
.personen-tab{border-top:1px solid var(--line)}
.personen-tab td:first-child{padding-left:34px}
.pkurs .personen-tab td:first-child{padding-left:52px}
.personen-tab tbody tr:last-child td{border-bottom:0}
.kreis{display:inline-block;min-width:24px;height:24px;line-height:22px;padding:0 6px;border-radius:12px;border:1.5px solid;font-size:12px;font-weight:600;text-align:center;text-decoration:none;box-sizing:border-box;background:var(--surface)}
.kreis.todo-farbe{border-color:var(--ink);color:var(--ink)}
.kreis.rot{border-color:var(--alert);color:var(--alert)}
.kreis.gelb{border-color:#C8962C;color:#9A6B0E}
.kreis.grau{border-color:var(--mute);color:#6F665D}
a.kreis:hover{background:var(--paper)}


/* Runde 8: Verlauf kürzer, Kreise in Menschen */
details.mehr{margin-top:4px}
details.mehr > summary{list-style:none;cursor:pointer;font-size:12.5px;color:var(--soft);padding:6px 0 6px 16px;border-left:2px dashed var(--line-strong)}
details.mehr > summary::-webkit-details-marker{display:none}
details.mehr > summary:hover{color:var(--ink)}
details.mehr[open] > summary{display:none}
.menschen-tab td.slot,.grau-tabelle td.slot{padding:6px 0!important}
.ablauf .kreis{min-width:20px;height:20px;line-height:17px;font-size:11px;padding:0 5px;vertical-align:middle}


/* Runde 9 */
.marke-sm{display:inline-block;height:20px;line-height:18px;padding:0 7px;border:1px solid var(--ok);color:var(--ok);border-radius:10px;font-size:11px;font-weight:600;vertical-align:middle;margin-left:4px}
.marke-foto{display:inline-block;height:20px;line-height:18px;padding:0 7px;border:1px dashed var(--alert);color:var(--alert);border-radius:10px;font-size:11px;font-weight:600;vertical-align:middle;margin-left:4px}
.zaehler{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--line);font-size:11px;font-weight:600;color:var(--ink)}
.rahmen.rollend{max-height:calc(100vh - 120px);overflow:auto}
.info-tabelle .feld.bemerkung{display:block;width:100%;font-size:12.5px;color:var(--soft);padding:1px 0;margin-top:1px;border:0!important;background:transparent!important}
.info-tabelle .feld.bemerkung:focus{color:var(--ink);box-shadow:inset 0 -1px 0 var(--accent)}
.info-tabelle .feld.bemerkung::placeholder{color:var(--line-strong)}
.rahmen.rollend thead th{position:sticky;top:0}
.kompakt-zeilen td{padding-top:4px!important;padding-bottom:4px!important}
.info-tabelle .feld.bemerkung-zeile{font-size:13px;color:var(--ink);padding:3px 6px}
.info-tabelle .feld.bemerkung-zeile:hover{border-color:var(--line)}

.info-tabelle .knopfreihe{flex-wrap:nowrap}
.info-tabelle td{text-overflow:clip!important}
.info-tabelle .knopfreihe .wahl{padding:2px 9px}
.info-tabelle td{padding-left:8px;padding-right:8px}
.info-tabelle td:first-child{padding-left:14px}

/* Vorschläge Zahlungsprüfung */
.vp-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.vp h2{font-size:16px;margin-bottom:4px}
.vp-idee{margin-bottom:12px}
.vp-person{border-top:1px solid var(--line);padding:12px 0}
.vp-kopf{display:flex;gap:10px;align-items:baseline;margin-bottom:6px;flex-wrap:wrap}
.vp-kopf .fuell{flex:1}
.ck{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:13.5px}
.ck .klein{margin-left:auto}
.ck.an{color:var(--soft)}
.ck.zus{font-style:normal}
.vp-spaeter{margin:4px 0 6px;color:var(--mute)}
.vp-frage{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0;font-size:13.5px}
.vp-fehlt{padding:6px 0 0 10px;border-left:3px solid var(--line-strong)}
.vp-fuer{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--soft)}
.kaestchen{display:flex;flex-wrap:wrap;gap:3px}
.kasten{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:4px;font-size:10.5px;font-weight:600;font-style:normal;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--soft);cursor:pointer;padding:0}
.kasten.bezahlt{background:#E4F2EA;border-color:var(--ok);color:var(--ok)}
.kasten.faellig-k{border-color:var(--alert);color:var(--alert)}
.kasten.spaeter{opacity:.45;cursor:default}
.legende-k{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--soft);margin-bottom:8px}
.legende-k span{display:inline-flex;gap:5px;align-items:center}
.vp-tab td{vertical-align:top!important;padding:10px 6px}
@media (max-width:1150px){.vp-raster{grid-template-columns:1fr}}


/* Zahlungen prüfen: B mit A */
.pruef-liste td{vertical-align:middle}
.pruef-liste .kaestchen{flex-wrap:nowrap;gap:2px}
.pruef-liste .kasten{width:19px;height:22px;font-size:10px;border-radius:3px}
.kasten.gestoppt{opacity:.5;text-decoration:line-through;cursor:default;border-style:dashed}
.pruef-a{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.pruef-a-kopf{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.pruef-a-kopf .fuell{flex:1}
.pruef-a-liste{max-width:560px}
.pruef-a-fuss{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.pruef-a-fuss label:not(.haken){display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft)}
.pruef-a-fuss .fuell{flex:1}
.pruef-a-fuss select.feld{min-width:150px}


/* Zahlungen prüfen: nur Start/Überweisung + Schluss */
.pruef-kopf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 170px;gap:12px;margin-bottom:14px}
.pruef-kopf > div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.pruef-kopf b{font-size:14px}
.pruef-kopf .pk-summe b{font-size:18px}
.ck-zeile{display:flex;gap:10px;align-items:center;padding:3px 0;font-size:13.5px}
.ck-text{display:flex;flex-direction:column;line-height:1.3}
.ck-zeile.an{color:var(--ink)}
.ck-zeile.spaeter{color:var(--mute)}
.ck-zeile.offen input{outline:1.5px solid var(--alert);outline-offset:1px;border-radius:2px}
.pruef-einfach td{vertical-align:middle}
.pruef-einfach tr.hat-offen td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
a.lslink{text-decoration:none}
@media (max-width:1100px){.pruef-kopf{grid-template-columns:1fr 1fr}}


/* Zahlungen prüfen: erste Version + Stufen */
.pruef-v1 tr.kopfzeile td{border-bottom:0;padding-bottom:2px;vertical-align:middle}
.pruef-v1 tr.stufenzeile td{padding-top:4px;padding-bottom:12px}
.pruef-v1 tbody tr:nth-child(4n+3) td,.pruef-v1 tbody tr:nth-child(4n+4) td{background:var(--zebra)}
.pruef-v1 tbody tr:nth-child(4n+1) td,.pruef-v1 tbody tr:nth-child(4n+2) td{background:var(--surface)}
.pruef-v1 tr.hat-offen td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.pruef-v1 tr.hat-offen + tr.stufenzeile td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.stufen-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.stufen-leiste .pfeil{color:var(--line-strong)}
.stufe{display:inline-flex;gap:8px;align-items:center;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px}
.stufe > span{display:flex;flex-direction:column;line-height:1.25}
.stufe b{font-weight:600}
.stufe.st-ok{border-color:#B9DCC8}
.stufe.st-ok b{color:var(--ok)}
.stufe.st-offen{border-color:var(--alert)}
.stufe.st-offen b{color:var(--alert)}
.stufe.st-problem{border-color:var(--alert);border-style:dashed}
.stufe.st-problem b,.stufe.st-problem .klein{color:var(--alert)}
.stufe.st-spaeter,.stufe.st-entfaellt{opacity:.6}
.summe-offen{font-size:13px;color:var(--soft)}
.summe-offen b{font-size:15px;margin-left:4px}


/* Stufen diskret, Abschlussprüfung groß */
.pruef-v1 td{vertical-align:middle!important}
.pruef-v1 tbody tr:nth-child(odd) td{background:var(--surface)!important}
.pruef-v1 tbody tr:nth-child(even) td{background:var(--zebra)!important}
.pruef-v1 tr.hat-offen td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.stufen-klein{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:3px}
.pruef-v1 td:first-child .klein{white-space:nowrap}
.stufe-k{display:inline-flex;gap:5px;align-items:center;font-size:12px;color:var(--soft);white-space:nowrap}
.stufe-k input{width:12px;height:12px;margin:0;accent-color:var(--soft)}
.stufe-k span{color:var(--mute)}
.stufe-k.sk-offen,.stufe-k.sk-offen span,.stufe-k.sk-problem,.stufe-k.sk-problem span{color:var(--alert);font-weight:600}
.stufe-k.sk-spaeter,.stufe-k.sk-entfaellt{color:var(--mute)}
.abschluss-pruef{display:flex;gap:10px;align-items:center;padding:7px 12px;border:1.5px dashed var(--line-strong);border-radius:8px}
.abschluss-pruef input{width:18px;height:18px}
.abschluss-pruef > span{display:flex;flex-direction:column;line-height:1.25}
.abschluss-pruef b{font-size:13.5px;color:var(--soft)}


.abschluss-pruef{cursor:pointer}
.abschluss-pruef.erledigt{border-style:solid;border-color:#B9DCC8}
.abschluss-pruef.erledigt b{color:var(--ok)}
.abschluss-pruef.erledigt .ap-wann{color:var(--ink)}
.kreis-plus{width:24px;height:24px;border-radius:12px;border:1.5px dashed var(--line-strong);background:var(--surface);color:var(--soft);font-weight:600;cursor:pointer;padding:0;line-height:20px}
.kreis-plus:hover{border-color:var(--ink);color:var(--ink)}

.ansprache{font-size:12px;color:var(--soft);margin-top:1px}
.ansprache b{color:var(--ink);font-weight:600}
.akte-kopf .ansprache{font-size:13px;margin:2px 0}
.block.lesbar:not(.bearbeiten) > table.felder select.feld{appearance:none;-webkit-appearance:none;background-image:none}

/* Runde 10: Hinweise-Spalte, Fallseiten */
td.hinweise{white-space:normal!important;line-height:1.9}
.hinweis-ruf{font-size:12px;color:var(--ink);white-space:nowrap}
.marke-neutral{display:inline-block;height:20px;line-height:18px;padding:0 7px;border:1px solid var(--line-strong);color:var(--soft);border-radius:10px;font-size:11px;font-weight:600;vertical-align:middle;text-decoration:none;white-space:nowrap}
.marke-sm,.marke-foto{margin-left:0;white-space:nowrap}
a.vorgang-link{text-decoration:none;border-bottom:1px dotted var(--line-strong)}
a.vorgang-link:hover{border-bottom-color:var(--ink)}
.kuerzel-person{display:inline-block;min-width:24px;height:18px;line-height:16px;padding:0 4px;margin:0 6px;border-radius:4px;background:#ECE7DF;font-size:10.5px;font-weight:700;text-align:center;color:var(--ink);letter-spacing:.03em;vertical-align:middle}
.vereinbarungen{list-style:none}
.vereinbarungen li{display:grid;grid-template-columns:70px 40px 1fr;gap:6px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px}
.vereinbarungen li:first-child{border-top:0}
.auswirkungen{margin:0 0 8px 18px;font-size:13.5px}
.auswirkungen li{margin:3px 0}
.dokumente{width:100%}
.dokumente td{padding:6px 4px;border-top:1px solid var(--line);font-size:13.5px}
.dok-art{width:60px;font-size:11px!important;font-weight:700;color:var(--soft)}
.ablage{margin-top:10px;padding:14px;border:1.5px dashed var(--line-strong);border-radius:var(--r);text-align:center;font-size:12.5px;color:var(--soft)}
.fall-karte{display:flex;flex-direction:column;gap:3px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--line-strong);border-radius:var(--r);text-decoration:none;box-shadow:inset 3px 0 0 var(--ink)}
.fall-karte:hover{background:var(--paper)}


/* Runde 11: Fälle */
.vorschlaege{list-style:none}
.vorschlaege li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.vorschlaege li:first-child{border-top:0}
.vorschlaege .vs-text{flex:1;min-width:220px}
.vorschlaege li.offen{box-shadow:inset 3px 0 0 var(--warn);padding-left:10px}
.vorschlaege li.bestätigt .vs-text{color:var(--soft)}
.vs-knoepfe{display:flex;gap:6px}
.klein-knopf{padding:3px 10px;font-size:12px}
.bestaetigen{border-color:var(--ink);font-weight:600}
.wv-fall{font-size:13.5px}
details.optional > summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none}
details.optional > summary::-webkit-details-marker{display:none}
details.optional:not([open]){opacity:.75}
.neue-aufgabe{margin-top:6px}
.neue-aufgabe > summary{list-style:none;display:inline-flex;cursor:pointer}
.neue-aufgabe > summary::-webkit-details-marker{display:none}
.na-maske{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.verlauf-kopf{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px}
.verlauf-kopf h3{margin:0}
.fall-art{font-size:12px;font-weight:600;color:var(--ink)}


/* Runde 12 */
.seite-gruppe > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600;padding:14px 10px 4px;border-radius:var(--r)}
.seite-gruppe > summary::-webkit-details-marker{display:none}
.seite-gruppe > summary::before{content:"›";display:inline-block;width:10px;font-size:14px;letter-spacing:0;transition:transform .15s}
.seite-gruppe[open] > summary::before{transform:rotate(90deg)}
.seite-gruppe > summary span{flex:1}
.seite-gruppe > summary small{letter-spacing:0;font-weight:400;opacity:0;transition:opacity .15s}
.seite-gruppe:not([open]) > summary small{opacity:1}
.seite-gruppe > summary:hover{color:var(--ink)}
.seite-gruppe{display:flex;flex-direction:column;gap:4px}
.seite a.unterpunkt{padding-left:26px;font-size:12.5px;color:var(--soft)}
.vertraulich{padding:8px 14px;margin-bottom:12px;border:1px solid var(--line-strong);border-left:3px solid var(--ink);border-radius:var(--r);background:var(--surface);font-size:13px}
.ks-start{margin-bottom:18px}
.ks-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ks-karte{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;box-shadow:inset 3px 0 0 var(--accent)}
.ks-karte:hover{background:var(--paper)}
.ks-mini{position:relative;display:flex;height:6px;background:var(--line);border-radius:3px;overflow:visible;margin:4px 0}
.ks-mini i{display:block;height:100%;background:var(--ok)}
.ks-mini i.warn{background:#D9B35E}
.ks-mini span{position:absolute;top:-3px;width:2px;height:12px;background:var(--ink)}
.ks-kopf{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:16px}
.ks-zahl{display:flex;flex-direction:column;gap:3px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.ks-zahl b{font-size:20px}
.gross-zahl b{font-size:28px}
.ks-balken{position:relative;display:flex;height:10px;background:var(--line);border-radius:5px;margin:6px 0}
.ks-balken i{display:block;height:100%;background:var(--ok)}
.ks-balken i.warn{background:#D9B35E}
.ks-mind{position:absolute;top:-4px;width:2px;height:18px;background:var(--ink)}
.ks-raster{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.trichter{display:grid;grid-template-columns:170px 1fr 30px;gap:10px;align-items:center;padding:5px 0;font-size:13.5px;cursor:pointer}
.trichter:hover span{text-decoration:underline}
a.trichter{text-decoration:none;color:inherit}
.tr-balken{height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.tr-balken i{display:block;height:100%}
.tr-balken i.ok{background:var(--ok)} .tr-balken i.warn{background:#D9B35E} .tr-balken i.mute{background:var(--mute)}
.trichter b{text-align:right}
.waerme{font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:9px;border:1px solid}
.waerme.heiß{color:var(--alert);border-color:var(--alert)}
.waerme.warm{color:#9A6B0E;border-color:#C8962C}
@media (max-width:1000px){.ks-kopf,.ks-raster{grid-template-columns:1fr}}

.seite small.ks-hinweis{color:var(--accent);font-weight:600}
.reiter a.reiter-start{color:var(--accent)}
.reiter a.reiter-start.an{color:var(--ink)}
.leer-hinweis{padding:12px 16px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r);font-size:13.5px}

/* Überblick laufender Kurs */
.ub-punkt{display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);text-decoration:none}
.kachel h2 + .ub-punkt{border-top:0}
.ub-punkt > span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.ub-punkt:hover{background:var(--paper)}
.ub-pfeil{color:var(--soft)}


/* Curriculum-Editor */
.ue-raster{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px 20px;margin:6px 0 4px}
.ue-raster label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--soft)}
.ue-raster .ue-haken span{display:flex;gap:6px;align-items:center;color:var(--ink);font-size:13px}
.ue-kopf{margin-bottom:14px}
.ce-tabelle td{vertical-align:middle}
.ce-tabelle .feld{border-color:var(--line);background:var(--surface)}
.ce-tabelle .ce-titel{font-weight:600}
.ce-tabelle .ce-inhalt{font-size:12.5px;color:var(--soft);border-color:transparent;margin-top:2px}
.ce-tabelle .ce-inhalt:hover,.ce-tabelle .ce-inhalt:focus{border-color:var(--line)}
.ce-schieben{white-space:nowrap}
.ce-schieben{white-space:normal}
.ce-schieben .knopf{display:block;width:26px;padding:0;margin:2px 0;text-align:center;justify-content:center}
.ce-tabelle td{overflow:visible!important}
.ce-tabelle input[type=date]{width:100%}
.ce-tabelle tr.ce-warn td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
@media (max-width:1000px){.ue-raster{grid-template-columns:1fr}}


/* Curriculum je Seminar */
.cur-liste{display:flex;flex-direction:column;gap:10px}
.cur-sem{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.cur-sem header{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}
.cur-sem header .nr{font-weight:600;color:var(--soft);min-width:30px}
.cur-sem .cur-titel{font-weight:600;font-size:14.5px;max-width:420px;padding:3px 6px}
.cur-sem.vorbei .cur-titel{color:var(--soft)}
.cur-tage{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.cur-tag{padding:10px 16px;border-right:1px solid var(--line)}
.cur-tag:last-child{border-right:0}
.cur-tag-kopf{display:flex;gap:8px;align-items:baseline;font-size:12px;font-weight:600;color:var(--soft);margin-bottom:4px}
.cur-text{resize:vertical;font-size:13.5px;line-height:1.45;min-height:44px;color:var(--ink)}
.cur-text:placeholder-shown{background:var(--paper)!important}
.cur-lt{display:flex;gap:12px;align-items:center;padding:8px 16px;border-top:1px solid var(--line);font-size:13px}
.cur-lt > span:nth-child(2){flex:1}


/* Unterlagen je Seminar */
.cur-unterlagen{border-top:1px solid var(--line)}
.cur-unterlagen > summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;padding:8px 16px;font-size:13px}
.cur-unterlagen > summary::-webkit-details-marker{display:none}
.cur-unterlagen > summary > span:nth-child(2){flex:1;display:flex;flex-wrap:wrap;gap:6px}
.cur-unterlagen[open] > summary .knopf{display:none}
.ul-pfeil{color:var(--soft);transition:transform .15s;display:inline-block}
.cur-unterlagen[open] .ul-pfeil{transform:rotate(90deg)}
.ul-marke{display:inline-block;height:20px;line-height:18px;padding:0 8px;border:1px solid var(--line-strong);border-radius:10px;font-size:11.5px;font-weight:600;color:var(--ink)}
.ul-liste{margin:0 16px;width:calc(100% - 32px)}
.ul-liste td{padding:7px 6px;border-top:1px solid var(--line);vertical-align:top}
.ul-art{width:110px;font-size:12px;font-weight:600;color:var(--soft)}
.ul-neu{display:grid;grid-template-columns:140px 1fr 1.3fr auto auto;gap:8px;padding:10px 16px 12px}
.cur-sem.beispiel{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.beispiel-band{padding:6px 16px;font-size:12px;font-weight:600;color:var(--ink);background:#ECE7DF;border-bottom:1px solid var(--line)}
.cur-text{white-space:pre-wrap}

/* Anwesenheit neu */
.legende{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--soft)}
.legende span{display:inline-flex;align-items:center;gap:6px}
.lz{display:inline-flex;width:26px;height:22px;border:1px solid var(--line);border-radius:4px;align-items:center;justify-content:center;font-style:normal;background:var(--surface)}
.matrix-rahmen.neu{border-radius:10px;max-height:calc(100vh - 250px)}
.matrix.neu{font-size:13px}
.matrix.neu th,.matrix.neu td{border-right:0;border-bottom:1px solid var(--line)}
.matrix.neu thead th.sem{text-align:left;padding:8px 8px 4px;border-left:1px solid var(--line-strong);font-weight:500;color:var(--ink);min-width:70px}
.matrix.neu thead th.sem b{font-weight:600}
.matrix.neu .semtitel{font-size:11px;color:var(--soft);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.matrix.neu thead tr:nth-child(2) th{top:46px}
.matrix.neu th.tag{font-weight:500;padding:3px 0 6px}
.matrix.neu th.tag.heute{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.matrix.neu .erst{border-left:1px solid var(--line-strong)!important}
.matrix.neu td.z{width:40px;min-width:40px;height:34px;padding:0}
.matrix.neu td.da::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--line-strong)}
.lz.da::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-strong)}
.fehl{display:inline-flex;min-width:24px;height:22px;padding:0 5px;align-items:center;justify-content:center;border:1.5px solid var(--warn);color:var(--warn);border-radius:11px;font-weight:600;font-size:12px}
.fehl.ganz{border-color:var(--alert);color:var(--alert)}
.matrix.neu td.ruht,.lz.ruht{background:repeating-linear-gradient(135deg,transparent 0 4px,var(--line) 4px 5px)!important}
.matrix.neu td.zukunft,.lz.zukunft{background:var(--paper)!important}
.matrix.neu td.zukunft.heute{background:var(--surface)!important;box-shadow:inset 0 0 0 2px var(--accent)}
.matrix.neu td.aus{background:var(--surface)!important}
.matrix.neu td.gast-da{color:var(--ok);font-weight:600}
.matrix.neu td.summe{padding:4px 10px;min-width:92px;border-right:1px solid var(--line-strong)}
.matrix.neu td.summe span{font-weight:600;display:inline-block;width:22px}
.matrix.neu td.summe span.rot{color:var(--alert)}
.balken{display:inline-block;width:52px;height:5px;border-radius:3px;background:var(--line);vertical-align:middle;overflow:hidden}
.balken i{display:block;height:100%;background:var(--ok)}
.balken.gelb i{background:var(--warn)} .balken.rot i{background:var(--alert)}
.matrix.neu .summe-kopf{min-width:92px;border-right:1px solid var(--line-strong)}
.matrix.neu tbody tr:nth-child(even) td:not(.zukunft):not(.ruht),.matrix.neu tbody tr:nth-child(even) th{background:var(--surface)}
.matrix.neu tbody tr:hover th,.matrix.neu tbody tr:hover td.summe{background:#F3EFE9}

/* Zahlungen */
.startbetrag{display:flex;align-items:center;gap:6px}
.startbetrag .feld.zahl{width:80px}
tr.offen-zeile td{box-shadow:inset 0 -1px 0 var(--line-strong)}
tr.offen-zeile td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
tr.pruefmaske td{background:var(--paper)!important;padding:14px 16px}
.maske{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}
.maske-titel{width:100%;display:flex;gap:10px;align-items:baseline}
.maske label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft)}
.maske .feld{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
.maske-summe{display:flex;flex-direction:column;border-left:3px solid var(--alert);padding-left:10px}
.maske-summe b{font-size:16px}
.paar-inline{display:flex;gap:6px;align-items:center}
.rechnung-raster{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}
.rechnung-raster tr.gewaehlt td{box-shadow:inset 3px 0 0 var(--accent);background:var(--paper)!important}
.rechnungsblatt .kopfzeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.rechnungsblatt .kopfzeile .fuell{flex:1}
.kopierbar td{padding:7px 0!important}
.kopierbar th{width:30%!important}

/* Zertifizierung */
.zertliste td,.blatt.eingabe td{vertical-align:middle}
.zertliste tr.nur-bescheinigung td{color:var(--soft)}
.zertliste tr.trennzeile td{background:var(--paper)!important;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding:10px}
.entfaellt{text-align:center;font-style:italic}
.blatt.eingabe .feld{border-color:var(--line)}
.blatt.eingabe select.feld{min-width:150px}

/* Telefon */
.tagkopf{font-size:14px;font-weight:600;margin:18px 0 8px}
.anrufliste td{vertical-align:middle}
.anrufliste td.zeit{width:60px}
.anrufliste td.wer{width:230px}
.anrufliste td.stich{width:130px}
.anrufliste td.folge{width:140px}
.anrufliste tr.erledigt td{color:var(--soft)}
.anrufliste tr.erledigt a.name{color:var(--soft)}
.anrufliste tr:not(.erledigt) td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.stichwort{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border:1px solid var(--line-strong);border-radius:10px;color:var(--ink)}
@media (max-width:1100px){.rechnung-raster{grid-template-columns:1fr}.zwei.eng{grid-template-columns:1fr}}
@media (max-width:1100px){.kalk,.akte-raster,.zwei{grid-template-columns:1fr}.verlauf{position:static;max-height:none}}
@media (max-width:1000px){.app{grid-template-columns:176px 1fr}.marke span{display:none}main{padding:18px 18px 32px}}
@media (max-width:640px){.app{grid-template-columns:1fr}.seite{position:static;height:auto}.anruf-raster{grid-template-columns:1fr}.anruf-raster .breit{grid-column:1}.ergebnis{grid-template-columns:1fr 1fr}}

/* Kursfahrplan */
.fp-ab{margin-bottom:10px}
.fp-ab > summary .pg-titel{flex:0 0 330px}
.fp-fort{flex:0 0 120px;height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:0 14px;align-self:center}
.fp-fort i{display:block;height:100%;background:var(--ink)}
.fp-tab td{vertical-align:top;padding-top:10px;padding-bottom:10px}
.fp-tab td.haken-zelle{padding-top:9px}
.fp-zeile.st-erledigt .fp-titel,.fp-zeile.st-entfaellt .fp-titel{color:var(--soft);font-weight:400}
.fp-zeile.st-entfaellt .fp-titel{text-decoration:line-through}
.fp-zeile.ueber{box-shadow:inset 3px 0 0 var(--alert)}
.fp-zeile.gewaehlt td{background:#ECE7DF}
.fp-titel{font-weight:500}
.fp-unter{display:block;margin-top:3px}
.fp-unter > summary{cursor:pointer;color:var(--soft);font-size:12.5px;list-style:none;display:inline-block}
.fp-unter > summary::-webkit-details-marker{display:none}
.fp-unter > summary::after{content:" ›";display:inline-block;transition:transform .15s;margin-left:3px}
.fp-unter[open] > summary::after{transform:rotate(90deg)}
.fp-unter ul{list-style:none;padding:6px 0 2px 2px;margin:0;display:flex;flex-direction:column;gap:3px}
.fp-unter li{font-size:13px}
.fp-unter label{display:flex;gap:7px;align-items:center}
.wer-marke{font-size:12px;color:var(--soft)}
.fp-sammel{position:sticky;bottom:12px;z-index:6;margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--r);padding:10px 14px;box-shadow:0 8px 22px rgba(40,35,32,.14)}
.fp-sammel[hidden],.fp-meldung[hidden]{display:none}
.fp-gruppe{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fp-meldung{margin-top:10px;padding:8px 12px;border-left:3px solid var(--ok);background:var(--surface);font-size:13px}
.fp-neu{margin-bottom:14px}
.fp-neu-felder{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;margin-bottom:10px}
.fp-neu-felder label,.fpv-label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--soft)}
.fp-menue-knoepfe{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.fp-naechste{margin-bottom:16px}
.fp-naechste h2 .zahl,.fpv-vorschlaege h2 .zahl{font-weight:400;color:var(--soft);font-size:13px;margin-left:8px}
.pg-inhalt .fp-tab{border:0}
.fp-tab.klapp-alt:not(.zeige-alt) tr.fp-alt,.fp-tab.klapp-spaet:not(.zeige-spaet) tr.fp-spaet{display:none}
.fp-klapp td{padding:6px 10px}
.fpv-vorschlaege{margin-bottom:6px}
.fpv-vorschlag{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.fpv-vorschlaege h2 + .fpv-vorschlag{border-top:0}
.fpv-vorschlag.erledigt{display:block;color:var(--soft)}
.fpv-vorschlag .marke-neutral{justify-self:start}
.fpv-knoepfe{display:flex;gap:8px}
.fpv-tab td{vertical-align:middle}
.fpv-zeile.grau td{color:var(--soft)}
.fpv-detail td{background:var(--paper)}
.fpv-arten{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 10px;font-size:13px}
.fpv-arten label{display:flex;gap:5px;align-items:center}
.fpv-detail textarea{width:100%;max-width:560px}
@media (max-width:1000px){.fp-ab > summary .pg-titel{flex:1}.fp-fort{display:none}.fp-neu-felder{grid-template-columns:1fr 1fr}.fpv-vorschlag{grid-template-columns:1fr}}

/* ---- App (M1) ---- */
.anmelde-rahmen{min-height:100vh;display:grid;place-items:center;padding:16px}
.anmelde-karte{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);padding:28px;width:min(380px,100%)}
.anmelde-karte img{height:34px;margin-bottom:14px}
.anmelde-karte label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--soft);margin-bottom:12px}
.anmelde-karte input{padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r);font-size:14px;background:var(--paper)}
.meldung{padding:8px 12px;border-left:3px solid var(--alert);background:var(--surface);margin-bottom:12px;font-size:13.5px}
.meldung.ok{border-left-color:var(--ok)}
.seite form{margin:0}
.seite .abmelden{background:none;border:0;color:var(--soft);font-size:12px;padding:0;cursor:pointer;text-decoration:underline}
.zahlen-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.zahlen-raster div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.zahlen-raster b{display:block;font-size:20px}
@media (max-width:760px){.app{grid-template-columns:1fr}.seite{position:static;height:auto}main{padding:16px}}
.blatt.umbruch td,.blatt.umbruch th{white-space:normal}
/* ---- M2 Personen, Akte, Fälle ---- */
.leiste.suchleiste{flex-wrap:wrap}
.leiste.suchleiste .suche{width:300px}
.leiste.suchleiste select{width:auto}
.haken-leiste{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px}
.eintrag-maske{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.eintrag-maske .zwei{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eintrag-maske label{display:flex;flex-direction:column;gap:3px}
.neu-person .meldung ul{margin:6px 0 8px 18px}
.vs-knoepfe form{display:flex;gap:6px}
.pgruppe .blatt{border:0}
@media (max-width:1000px){.leiste.suchleiste .suche{width:100%}}
/* ---- M3 Kursmappe ---- */
.text-normal{white-space:normal}
.spaltenwahl{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px}
.spaltenwahl label{display:flex;gap:4px;align-items:center}
.raster-rahmen{max-height:62vh;overflow:auto}
.raster th{position:sticky;top:0;z-index:2}
.raster td{padding:2px 4px}
.raster td.person{padding:6px 10px;white-space:nowrap}
.raster input{width:100%;border:1px solid transparent;border-bottom-color:var(--line);background:transparent;padding:5px 6px;font:inherit;font-size:13px;border-radius:3px}
.raster input:hover{border-color:var(--line-strong)}
.raster input:focus{outline:none;border-color:var(--line-strong);background:var(--surface);box-shadow:inset 3px 0 0 var(--accent)}
.raster td.neu{box-shadow:inset 3px 0 0 var(--ok)}
.raster td.ersetzt{box-shadow:inset 3px 0 0 var(--warn)}
.raster td.fehler{box-shadow:inset 3px 0 0 var(--alert)}
.raster td .alt{display:block;font-size:11px;color:var(--soft);text-decoration:line-through;padding:0 6px}
.raster td .fehlertext{display:block;font-size:11px;color:var(--alert);padding:0 6px}
.zeile-knoepfe{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.zusammen{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 10px;font-size:13px}
.zusammen span b{font-size:15px}
.treffer-nein{color:var(--alert);font-weight:600}
.ef-schritt{margin-bottom:16px}
.ef-schritt h2{display:flex;align-items:baseline;gap:10px}
.ef-schritt h2 .nr{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);font-size:12px;font-weight:600}
.ef-schritt.aus{opacity:.45;pointer-events:none}
.einfuege-feld{width:100%;min-height:150px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;padding:10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--paper);white-space:pre;tab-size:18}
.spalten{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.spalte{border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;background:var(--surface)}
.spalte b{display:block}
.spalte select{width:100%!important;margin:4px 0 6px;box-sizing:border-box}
.spalte .probe{font-size:12px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spalte.ohne{opacity:.6}
.vorschau-tab td{vertical-align:top}
.z-neu{box-shadow:inset 3px 0 0 var(--ok)}
.z-gleich{color:var(--soft)}
.z-ersetzt{box-shadow:inset 3px 0 0 var(--warn)}
.z-fehler{box-shadow:inset 3px 0 0 var(--alert)}
.z-leer{color:var(--mute)}
.zelle-alt{text-decoration:line-through;color:var(--soft);font-size:12px;display:block}
.zelle-hinweis{font-size:11.5px;display:block;margin-top:2px}
.regeln li{margin:3px 0}
.kursinfo a.name{white-space:nowrap}
.cur-kopf{margin-bottom:4px}
.cur-karte .cur-titel{font-weight:600;font-size:14.5px;max-width:560px;margin-bottom:8px}
.cur-tage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cur-tage label{display:flex;flex-direction:column;gap:3px}
.cur-unterlagen{margin-top:8px}
.cur-unterlagen > summary{cursor:pointer;list-style:none}
.cur-unterlagen > summary::-webkit-details-marker{display:none}
.ul-pfeil{display:inline-block;transition:transform .15s}
.cur-unterlagen[open] .ul-pfeil{transform:rotate(90deg)}
.matrix .semtitel{font-weight:400;font-size:11px;color:var(--soft)}
.matrix th.tag.heute{color:var(--accent)}
.matrix td.z[contenteditable]:empty:hover{background:var(--paper)}
@media (max-width:900px){.cur-tage{grid-template-columns:1fr}}
.matrix .kopfspalte{min-width:240px}
.summe-rechts{float:right;margin-left:14px;font-weight:600;min-width:28px;text-align:right}
.summe-rechts .rot{color:var(--alert)}
.matrix thead .summe-rechts{font-weight:600;color:var(--soft)}
/* Anwesenheit: gleich breite Tagesspalten, Name und Fehlstunden fest links */
.matrix.anw{table-layout:fixed}
.matrix.anw .kopfspalte{min-width:0;width:230px;max-width:230px;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--line)}
.matrix.anw .summenspalte{position:sticky;left:230px;z-index:1;text-align:center;white-space:nowrap;border-right:2px solid var(--line-strong);font-weight:600}
.matrix.anw thead .summenspalte{z-index:3;font-size:11.5px;color:var(--soft);text-align:center}
.matrix.anw .summenspalte .rot{color:var(--alert);font-weight:600}
.matrix.anw .summenspalte .balken{display:block;width:100%;margin-top:3px;height:4px}
.matrix.anw .balken.gruen i{background:var(--ok)}
.matrix.anw th.sem{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:2px solid var(--line-strong);text-align:left;padding-left:8px}
.matrix.anw th.sem .semtitel{overflow:hidden;text-overflow:ellipsis}
.matrix.anw td.erst,.matrix.anw th.tag.erst{border-left:2px solid var(--line-strong)}
.matrix.anw td.z{width:58px;min-width:0}
.matrix.anw tr.trenner th,.matrix.anw tr.trenner td{background:var(--paper)!important;font-size:11.5px;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
/* Besetzung ruhig: Punkt vor dem Namen statt Marke */
.lt-liste{line-height:1.5}
.lt{white-space:nowrap}
.lt::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px;background:var(--ink)}
.lt.angefragt::before{background:transparent;border:1.5px solid var(--warn)}
.lt.offen::before,.lt.abgesagt::before{background:transparent;border:1.5px dashed var(--mute)}
.lt.abgesagt{text-decoration:line-through;color:var(--soft)}
.lt-legende{display:flex;gap:14px;font-size:12px;color:var(--soft)}
/* Curriculum lesen */
.cur-lesen .cur-titel-lesen{font-weight:600;font-size:15px;margin:2px 0 8px}
.cur-lesen .cur-tage-lesen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;font-size:13.5px}
.cur-lesen .cur-tage-lesen div{white-space:pre-line}
.cur-lesen .cur-tage-lesen b{display:block;font-size:11.5px;color:var(--soft);font-weight:600;margin-bottom:2px}
.block h3 .kurs-kz{font-weight:400;color:var(--soft);margin-left:6px;flex:1}
@media (max-width:900px){.cur-lesen .cur-tage-lesen{grid-template-columns:1fr}}
.nh-plan{padding:4px 0}
.nh-knoepfe{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:4px}
.nh-knoepfe form{display:flex;gap:8px;align-items:center;margin:0}
.nh-mehr > summary{list-style:none;cursor:pointer}
.nh-mehr > summary::-webkit-details-marker{display:none}
.nh-mehr[open]{flex-basis:100%}
.nh-frueher{margin-top:4px}
/* Überblick: drei gleich breite Kennzahlen, Knopf bleibt in seiner Kachel */
.zahlen-raster.ub-kopf{grid-template-columns:repeat(3,minmax(0,1fr))}
.ub-kopf > div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ub-kopf .knopf{max-width:100%;white-space:normal;text-align:center}
@media (max-width:760px){.zahlen-raster.ub-kopf{grid-template-columns:1fr}}
/* ---- M4 Zahlungen ---- */
.stufen-klein{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px}
.stufe-form{display:inline;margin:0}
.lauf-kachel{margin-bottom:14px}
.lauf-kachel .lauf{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lauf-kachel .lauf form{margin:0}
.sepa-datei{margin-top:10px}
.sepa-datei > summary{cursor:pointer}
.raten-tab input.feld{padding:2px 6px}
.lex-rueck{display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}
.lex-rueck label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--soft)}
.lex-rueck > span{align-self:center}
@media (max-width:1100px){.lex-rueck{grid-template-columns:1fr 1fr}}
.zeile-knoepfe select.feld{width:auto}
.raten-tab{width:100%;table-layout:fixed;margin-top:6px}
.raten-tab td{padding-top:5px;padding-bottom:5px}
.raten-edit td{background:var(--paper)!important}
.raten-details > summary{cursor:pointer;margin-top:8px}
.lex-rueck input{width:100%;box-sizing:border-box}
.rnr-form{margin:0}
.rnr-form .rnr{width:100%;font-size:12.5px;padding:3px 6px}
.rnr-form .rnr.fehlt{border-color:var(--warn)!important}
.iban-eingabe > summary{cursor:pointer;display:inline;margin-left:6px}
.status-zeile{flex-wrap:nowrap}
.status-zeile select.feld{width:112px!important}
.monat-wahl{display:flex;align-items:center;gap:4px}
.monat-wahl select.feld{width:auto}
.ls-tab details.iban-eingabe summary{cursor:pointer}
.posten-auf{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--soft);cursor:pointer;text-decoration:underline dotted}
.posten-auf[aria-expanded="true"]{color:var(--ink);font-weight:600}
tr.posten-zeile > td{background:var(--zebra);padding:10px 14px 12px}
.posten-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}
.posten-k{margin:0}
.posten-k label{display:grid;grid-template-columns:14px 1fr;column-gap:6px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;cursor:pointer;background:var(--surface)}
.posten-k label input{margin:0;width:13px;height:13px;grid-row:span 2}
.posten-k label span{color:var(--mute);font-size:11.5px}
.posten-k.pk-ok label{border-color:var(--ok);background:#E4F2EA}
.posten-k.pk-offen label{border:1.5px solid var(--alert)}
.posten-k.pk-offen b{color:var(--alert)}
.posten-k.pk-spaeter label{opacity:.6}
.posten-k.pk-entfaellt label{opacity:.45;text-decoration:line-through;cursor:default}
.da-haken{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.da-haken input{margin:0}
/* Aufgaben: eine Zeile, darunter Unterpunkte, Freitext, Verlauf */
.neue-aufgabe .na-person{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.na-treffer{display:flex;gap:6px;flex-wrap:wrap}
.na-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}
.na-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--soft)}
.na-form .breit{grid-column:1/-1}
.na-form .feld{width:100%}
.aufgabe-zeile{font-weight:500}
.aufgabe-frei{white-space:pre-line;margin-top:2px}
.aufgabe-mehr{display:flex;flex-direction:column;gap:2px;margin-top:3px}
.klapp summary{cursor:pointer;list-style:none;color:var(--soft)}
.klapp summary::-webkit-details-marker{display:none}
.klapp[open] summary{color:var(--ink);font-weight:600}
ul.unterpunkte{list-style:none;margin:4px 0 2px}
ul.unterpunkte li form{margin:0}
ul.unterpunkte label{display:flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}
ul.unterpunkte label.erledigt{color:var(--mute);text-decoration:line-through}
ol.aufgabe-verlauf{list-style:none;margin:4px 0;border-left:2px solid var(--line);padding-left:10px;font-size:12.5px}
ol.aufgabe-verlauf li{margin:3px 0}
.wv-klapp{display:inline-block;position:relative}
.wv-klapp summary{list-style:none}
.wv-klapp summary::-webkit-details-marker{display:none}
.wv-form{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px;width:220px;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.aufgaben-tab td.rechts{white-space:nowrap}
.punkte-dazu{color:var(--mute);text-decoration:none}
.punkte-dazu:hover{color:var(--ink);text-decoration:underline}
.aufgabe.rueckruf{grid-template-columns:1fr auto;align-items:start}
.stufe-link{text-decoration:none}.stufe-link:hover{text-decoration:underline}
/* Zahlungen prüfen wie im Entwurf: Stufen untereinander, aktiv abhaken, rot nur bei echtem Problem */
.stufen-liste{flex-direction:column;align-items:flex-start;gap:3px}
.stufen-liste .stufe-form{margin:0}
.stufen-liste .stufe-k{font-size:13px;color:var(--ink);cursor:pointer}
.stufen-liste .stufe-k input{width:14px;height:14px;accent-color:var(--ink);cursor:pointer}
.stufen-liste .stufe-k.sk-neu{color:var(--soft)}
.stufen-liste .stufe-k.sk-spaeter,.stufen-liste .stufe-k.sk-entfaellt{color:var(--mute)}
.stufen-liste .posten-auf{margin-top:2px}
.block.zahlung-fehlt{box-shadow:inset 3px 0 0 var(--alert)}
.ampel-link{text-decoration:none}
.ls-verlauf ol{list-style:none;margin:4px 0 0;font-size:12px;border-left:2px solid var(--line);padding-left:8px}.ls-verlauf summary{cursor:pointer;color:var(--soft)}
/* Telefon wie im Entwurf */
.kachel.anruf .knopfreihe{display:inline-flex;gap:0}
.kachel.anruf label.wahl{display:inline-block;cursor:pointer;color:var(--soft)}
.knopfreihe label.wahl:has(input:checked){background:#ECE7DF;color:var(--ink);font-weight:600}
.paar-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.paar-inline .feld.kurz{width:150px}
.wer-feld{position:relative;display:block}
.wer-feld .feld{width:100%}
.wer-treffer{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:6;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 6px 20px rgba(0,0,0,.08);display:flex;flex-direction:column}
.wer-treffer[hidden]{display:none}
.wer-zeile{border:0;background:none;text-align:left;padding:7px 10px;cursor:pointer;font:inherit;color:var(--ink)}
.wer-zeile:hover{background:var(--paper)}
.anruf-aktionen{justify-content:flex-start}
.tagkopf{font-size:14px;font-weight:600;margin:18px 0 8px}
.anrufliste td{vertical-align:middle}
.anrufliste td.zeit{width:60px}
.anrufliste td.wer{width:230px}
.anrufliste td.stich{width:120px}
.anrufliste td.folge{width:150px}
.anrufliste td.rechts{width:150px;white-space:nowrap}
.anrufliste tr.erledigt td{color:var(--soft)}
.anrufliste tr.erledigt a.name{color:var(--soft)}
.anrufliste tr:not(.erledigt):not(.pruefmaske) td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.kachel.anruf .knopfreihe{align-self:flex-start}
.anrufliste td.rechts{width:175px}
.anrufliste td.rechts form{display:inline}
/* Auswahl-Leiste unten (Vormerken) */
.mehrfach-leiste{position:sticky;bottom:12px;z-index:6;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.mehrfach-leiste[hidden]{display:none}
.mehrfach-leiste #vm_zahl{font-weight:600}
.serienmail{max-width:860px;display:flex;flex-direction:column;gap:10px}
.sm-feld{display:flex;flex-direction:column;gap:4px}
.serienmail .knopfreihe{align-self:flex-start}
.serienmail label.wahl{display:inline-block;cursor:pointer;color:var(--soft)}
.serienmail code{font-size:12px;background:var(--paper);padding:0 4px;border-radius:3px}
.zert-eingabe input[disabled]{opacity:.45}
/* Offenes ganz hinten, mit Platz für Text */
.zertliste th.offenes,.zertliste td.offenes{min-width:260px;white-space:normal}
.zert-eingabe td.offenes{min-width:280px}
.zert-eingabe td.offenes textarea{width:100%;min-height:32px;resize:vertical;line-height:1.3}
.freigabe-marke{display:inline-flex;align-items:center;gap:2px;margin:0 6px 4px 0}.freigabe-marke .knopf{padding:0 6px}
.unterreiter{flex-wrap:wrap}
.unterreiter a{white-space:nowrap}
table.felder td{overflow-wrap:anywhere}
/* ---------- Kalender im Stil des Apple-Kalenders (M7) ---------- */
.kal{--k-institut:#F74E2C;--k-akademie:#0F6E78;--k-sr:#A39B92;--k-info:#B5ADA3;--k-frei:#E0A800;display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.kal-seite{position:sticky;top:16px}
.kal-ueber{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.kal-ebene{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:13.5px;cursor:pointer}
.kal-ebene input{position:absolute;opacity:0;width:1px;height:1px}
.kal-ebene i{width:14px;height:14px;border-radius:4px;border:2px solid var(--k);background:transparent;flex:none}
.kal-ebene input:checked + i{background:var(--k)}
.kal-ebene input:focus-visible + i{outline:2px solid var(--ink);outline-offset:2px}
.ebene-institut{--k:var(--k-institut)}.ebene-akademie{--k:var(--k-akademie)}.ebene-sr{--k:var(--k-sr)}.ebene-info{--k:var(--k-info)}.ebene-frei{--k:var(--k-frei)}
.kal-seite select{margin-top:2px}
.kal-legende{margin-top:18px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--soft)}
.kal-legende i{display:inline-block;width:18px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.geplant-muster{border:1.5px dashed var(--soft)}.konflikt-muster{border:2px solid var(--alert)}
.kal-kopf{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.kal-kopf h1{font-size:28px;font-weight:400;letter-spacing:-.01em;margin:0;flex:1}
.kal-kopf h1 b{font-weight:700}
.kal-segment{display:inline-flex;background:#ECE7DF;border-radius:8px;padding:2px}
.kal-segment a{padding:4px 16px;border-radius:6px;font-size:13px;text-decoration:none;color:var(--ink)}
.kal-segment a.an{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.kal-nav{display:inline-flex;align-items:center;gap:2px}
.kal-nav a{padding:3px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:14px}
.kal-nav a:hover{background:#ECE7DF}
.kal-monat{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}
.kal-wt{padding:6px 8px;font-size:12px;color:var(--soft);text-align:right;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.kal-tag{min-height:112px;padding:4px 5px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.kal-tag{background:#FDFCFA}.kal-tag.we{background:#F8F6F2}
.kal-tag.fremd .kal-zahl{color:var(--mute)}
.kal-tag.fremd .kal-pille{opacity:.55}
.kal-tag.ferien{background:#FBF7EC}
.kal-tag.konflikt{box-shadow:inset 0 0 0 2px var(--alert)}
.kal-tagkopf{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-height:24px}
.kal-feiertag,.kal-ferien{flex:1;font-size:10.5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kal-feiertag{color:var(--alert)}.kal-ferien{color:#9A7400}
.kal-zahl{font-size:13px;font-weight:500;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.kal-zahl.rot{color:var(--alert)}
.kal-zahl.heute{background:var(--alert);color:#fff;font-weight:700}
.kal-pille{display:block;font-size:11.5px;line-height:1.25;padding:2px 6px;border-radius:5px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--k);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kal-pille b{font-weight:600}
.kal-pille:hover{background:#FAF8F5}
.kal-pille.geplant{background:transparent;border:1px dashed var(--line-strong);border-left:3px dashed var(--k)}
.kal-mehr{font-size:11px;color:var(--soft);padding-left:4px}
.kal-jahr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 30px;background:var(--surface);border-radius:10px;padding:20px 24px}
.kal-mini{text-decoration:none;color:var(--ink);border-radius:8px;padding:4px}
.kal-mini:hover{background:#FAF8F5}
.kal-mini-name{font-size:16px;font-weight:600;color:var(--alert);margin-bottom:6px}
.kal-mini-name:not(.jetzt){color:var(--ink)}
.kal-mini-raster{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center;font-size:11.5px}
.kal-mini-wt{color:var(--soft);font-size:10.5px;padding-bottom:3px}
.kal-mini-tag{position:relative;height:26px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:2px;border-radius:6px}
.kal-mini-tag.rot{color:var(--alert)}
.kal-mini-tag.ferien{background:#FFF6D9}
.kal-mini-tag.heute{background:var(--alert);color:#fff;font-weight:700}
.kal-mini-tag.konflikt{box-shadow:inset 0 0 0 1.5px var(--alert)}
.kal-punkte{display:flex;gap:1px;margin-top:1px}
.kal-punkte i{width:4px;height:4px;border-radius:50%;background:var(--k)}
.kal-streit{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--alert);border-radius:var(--r);padding:12px 16px;font-size:13px}
.kal-streit h2{font-size:14px;margin:0 0 6px}
.kal-streit div{margin:3px 0}
@media (max-width:1000px){.kal{grid-template-columns:1fr}.kal-seite{position:static}.kal-jahr{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kal{margin-top:6px}
/* Seminarhäuser als Kacheln */
.haus-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.haus-kachel{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.haus-kachel:hover{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--accent),0 4px 14px rgba(0,0,0,.06)}
.hk-kopf{display:flex;flex-direction:column}
.hk-kopf b{font-size:15.5px}
.hk-preise{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hk-preise div{display:flex;flex-direction:column;background:var(--paper);border-radius:8px;padding:6px 10px}
.hk-preise b{font-size:17px}
.hk-fuss{color:var(--soft)}
.tn-kond b{font-size:15px}
/* Kalender: Stichpunkt und Kürzel, SR extra, ABIS-Kalender mit Räumen */
.kal{--k-seminarraum:#F74E2C;--k-rund:#0F6E78;--k-abis:#8E5BB5}
.ebene-Seminarraum{--k:var(--k-seminarraum)}.ebene-runder-Raum{--k:var(--k-rund)}.ebene-ABIS{--k:var(--k-abis)}
.kal-pille small{display:block;font-size:10.5px;color:var(--soft);font-weight:400;overflow:hidden;text-overflow:ellipsis}
.kal-pille.sr-pille{background:transparent;border:0;border-left:2px dotted var(--mute);color:var(--soft)}
.kal-pille.sr-pille b{font-weight:500}.kal-pille.sr-pille small{color:var(--mute)}
.sr-marke{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;padding:0 4px;margin-right:4px;border-radius:3px;background:var(--k);color:#fff;vertical-align:1px}
.sr-muster{border-left:2px dotted var(--mute);border-radius:0!important}
.kal-welcher{display:flex;margin-bottom:16px}.kal-welcher a{flex:1;text-align:center}
.kal-art{font-size:18px;color:var(--soft);font-weight:400}
.abis-form{margin-bottom:14px}
.abis-felder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.abis-felder label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--soft)}
.abis-felder .breit{grid-column:1/-1}
.abis-form .knopfreihe{align-self:flex-start}
.abis-form label.wahl{display:inline-block;cursor:pointer}
/* Absage vorab */
.matrix td.ab:empty::before{content:"ab";color:var(--mute);font-size:10.5px;font-weight:500}
.absage-form{margin-bottom:14px}
.absage-form h2{font-size:14px;margin:0 0 10px}
.absage-felder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1.2fr) 150px auto;gap:10px;align-items:end}
.absage-felder label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft)}
.chip-ab{display:inline-block;font-size:11px;font-weight:600;padding:0 6px;border-radius:4px;background:#EFECE6;color:var(--soft)}
.absage-info{margin-top:2px;text-align:left}
.absage-info form{display:flex;flex-direction:column;gap:3px;align-items:flex-start;margin-top:4px}
@media (max-width:1000px){.absage-felder{grid-template-columns:1fr}}
.absage-person{margin-bottom:8px;display:flex;flex-direction:column;gap:3px}
.absage-mehr summary{cursor:pointer;color:var(--soft);display:inline}
.absage-mehr form{margin-top:6px}
.kal-detail{margin-bottom:14px}
.kal-detail-kopf{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.kal-detail-kopf h2{font-size:16px;margin:0}
.kal-detail-kopf .fuell{flex:1}
.kal-detail-spalten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kal-detail-zeile{padding:4px 0;border-bottom:1px solid var(--line);font-size:13.5px}
@media (max-width:1000px){.kal-detail-spalten{grid-template-columns:1fr}}
.absage-info .klein{white-space:normal}
.kal-absage-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;margin-top:10px}
/* Kalkulation erklärt */
.rechnung.erklaert tr.teil th{padding-left:18px;font-size:12.5px;color:var(--soft)}
.rechnung.erklaert tr.teil td{font-size:12.5px;color:var(--soft)}
.rechnung.erklaert tr.kopfzeile th{color:var(--ink)}
.rechnung tr.notiz td{font-size:12px;color:var(--soft);padding-top:2px;padding-bottom:10px;text-align:left}
.rechnung tr.ergebniszeile th,.rechnung tr.ergebniszeile td{font-size:15px}
.felder.zweispaltig th.spalte{font-size:12px;font-weight:600;color:var(--soft);text-align:left}
.felder.zweispaltig tr.notiz td{font-size:12px;color:var(--soft);padding-top:6px}
.felder.zweispaltig{table-layout:fixed;width:100%}
.felder.zweispaltig tr > th:first-child{width:32%}
.felder.zweispaltig td{white-space:nowrap}
.felder.zweispaltig td .klein{white-space:normal}
.felder.zweispaltig tr.notiz td{white-space:normal}
.felder.zweispaltig input.zahl{max-width:120px!important}
.gesamt-zahlen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 16px}
.gesamt-zahlen div{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.gesamt-zahlen b{font-size:20px;font-weight:600}
.gesamt-zahlen .plus{border-left:3px solid var(--ok)}.gesamt-zahlen .minus{border-left:3px solid var(--alert)}.gesamt-zahlen .minus b{color:var(--alert)}
@media (max-width:900px){.gesamt-zahlen{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Kalkulationsblatt: Abschnitte mit Sprungleiste */
.sprung{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:6px;padding:10px 0;margin:-6px 0 8px;background:var(--paper)}
.sprung a{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line-strong);border-radius:999px;font-size:13px;text-decoration:none;color:var(--ink);background:var(--surface)}
.sprung a:hover{border-color:var(--ink)}
.sprung a i,.kapitel i{font-style:normal;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.sprung a i{width:18px;height:18px;font-size:11px}
.kapitel{display:flex;align-items:baseline;gap:10px;margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--line-strong);scroll-margin-top:52px}
.kapitel i{width:24px;height:24px;font-size:13px;font-weight:600;align-self:center}
.kapitel b{font-size:17px}.kapitel span{color:var(--soft);font-size:13px}
/* Gewinn pro Kurs */
.gw-kopf{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.gw-legende{display:inline-flex;gap:14px;font-size:12px;color:var(--soft);margin-left:auto}
.gw-legende i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.gw-kosten{background:#CFC7BC}.gw-plus{background:#3E9B6B}.gw-minus{background:var(--alert)}.gw-eigen{background:#D9A441}
.gw-block{margin-bottom:18px}
.gw-zeile{display:grid;grid-template-columns:150px minmax(0,1fr) 130px;gap:16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.gw-zeile:last-child{border-bottom:0}
.gw-zeile.grau{opacity:.55}
.gw-zeile.klein-zeile{grid-template-columns:110px minmax(0,1fr) 100px;padding:6px 0}
.gw-spur{height:16px}
.gw-balken{height:16px;display:flex;border-radius:4px;overflow:hidden;min-width:2px}
.gw-balken i{display:block;height:100%}
.gw-unter{margin-top:3px}
.gw-zahl{text-align:right}
.gw-zahl b{font-size:15px}
.gw-saeulen{display:flex;gap:28px;align-items:flex-end;padding:8px 4px 0;overflow-x:auto}
.gw-saeule{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink);padding:6px 10px;border-radius:8px;min-width:90px}
.gw-saeule:hover{background:#FAF8F5}.gw-saeule.an{background:#F1EEE9}
.gw-saeule b{font-size:13px}
.gw-stapel{display:flex;flex-direction:column;justify-content:flex-end;width:46px}
.gw-stapel i{display:block;width:100%}
.gw-stapel i:first-child{border-radius:4px 4px 0 0}
.gw-jahr{font-size:13px;font-weight:600}
.gw-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gw-form .feld{width:auto}
.gw-form input[name=bezeichnung]{min-width:260px}
.gw-form input[name=betrag]{width:110px}
.blatt tr.gw-zwischen td{font-size:12px;color:var(--soft);font-weight:600;background:var(--paper)!important}
@media (max-width:900px){.gw-zeile{grid-template-columns:1fr}.gw-legende{margin-left:0}}
.bes-aendern{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.bes-verlauf{border-top:1px solid var(--line);padding-top:6px;width:100%}
.aendern-maske label.haken{flex-direction:row;align-items:center;gap:6px;white-space:nowrap}
.blatt.besetzung td.rechts{white-space:normal}
.blatt.besetzung td.rechts .knopf{margin:1px 0}
.aendern-maske.zuordnen{padding-left:0}
.pruefmaske .aendern-maske.zuordnen{padding-left:34px}
/* Einheitliche Höhe für Eingabe- und Auswahlfelder (Safari zeichnet Auswahlfelder sonst niedriger) */
input.eingabe-feld:not([type=checkbox]):not([type=radio]),select.eingabe-feld{height:32px;box-sizing:border-box;line-height:1.2;vertical-align:middle}
select.eingabe-feld{-webkit-appearance:none;appearance:none;padding-right:26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2371685F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center}
input[type=date].eingabe-feld,input[type=month].eingabe-feld{padding-top:0;padding-bottom:0}
.blatt td input.eingabe-feld:not([type=checkbox]):not([type=radio]),.blatt td select.eingabe-feld{height:30px}
/* Sprungleiste leise (Claudia: „zu offensiv“) */
.sprung{gap:0;padding:6px 0;margin:-4px 0 4px;font-size:12.5px;color:var(--mute)}
.sprung span{margin-right:10px}
.sprung a{padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--soft);font-size:12.5px}
.sprung a + a::before{content:"·";margin:0 10px;color:var(--mute)}
.sprung a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px;border:0}
.kapitel i{background:transparent;color:var(--soft);border:1.5px solid var(--line-strong)}
.mandate-wahl{margin-bottom:12px}
.mandate-wahl summary{cursor:pointer;font-weight:600}
.mandate-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;margin-top:10px}
/* Nachträgliche Zertifizierung */
.nz-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.nz-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}
.nz-karte:hover{border-color:var(--line-strong)}
.nz-karte.jetzt{border-left:3px solid var(--accent)}
.nz-karte.vorbei{opacity:.6}
.nz-karte h3{margin:0;font-size:17px}.nz-karte .klein{margin:0}
.nz-marke{align-self:flex-start;font-size:12px;font-weight:600;padding:1px 8px;border-radius:4px;background:#EFECE6;color:var(--soft)}
.nz-marke.laeuft,.nz-marke.danach{background:#FFF1DC;color:#93610A}
.nz-zahlen{display:flex;gap:14px;font-size:13px;margin-top:4px}.nz-zahlen b{font-size:16px;display:block}
.nz-rot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--alert);margin-right:6px}
.nz-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.nz-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--soft)}
.nz3-kopf{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin-bottom:16px}
.nz3-oben{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.nz3-titel b{font-size:26px;font-weight:600}.nz3-titel small{font-size:15px;color:var(--soft);margin-left:8px}
.nz3-meta{color:var(--soft);font-size:13.5px;margin-top:4px}
.nz3-zahlen{display:flex;gap:34px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.nz3-zahlen div b{display:block;font-size:24px;font-weight:600}.nz3-zahlen div span{font-size:12.5px;color:var(--soft)}
.nz3-zahlen .gross b{color:var(--accent)}
.nz3 td{vertical-align:middle!important}
.nz3 .name{font-size:15px;font-weight:600}
.nz3-erf{display:inline-flex;gap:3px;vertical-align:middle;margin-right:6px}.nz3-erf i{width:9px;height:9px;border-radius:2px;background:#E6E1D8}.nz3-erf i.da{background:var(--ok)}
.nz3 tr.bez-fehlt td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.nz3 tr.fertig td{color:var(--soft)}
.nz3-zeile{display:flex;gap:18px;align-items:center;margin:0}
.nz3-zeile input.zahl{width:56px!important;text-align:center}
.nz3 .haken{white-space:nowrap}
.nz3 tfoot td{font-weight:600;background:var(--paper)}
.nz3-summe{font-weight:600}
tr:target td{background:#FFF6E0!important}

/* Anmeldeliste vor dem Kursstart (26.09.2026): schmal, dezent, Punkt + Datum (Stadium 1) oder nur Zeichen (Stadium 2) */
.al-kopf{display:flex;align-items:baseline;gap:14px;margin:6px 0 12px;flex-wrap:wrap}
.al-kopf h2{font-size:15px;font-weight:600}
.al-stadium{display:inline-flex;border:1px solid var(--line-strong);border-radius:20px;overflow:hidden;font-size:12px;margin-left:auto}
.al-stadium a{padding:3px 11px;color:var(--soft);text-decoration:none} .al-stadium a.an{background:#ECE7DF;color:var(--ink);font-weight:600}
.al-auto{text-decoration:none}
.al-zahlen{display:flex;gap:22px;font-size:12.5px;color:var(--soft);margin-bottom:10px;flex-wrap:wrap}
.al-zahlen b{color:var(--ink);font-weight:600;font-size:13.5px;margin-right:3px}
table.al{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}
/* Eigener Rollkasten wie die Matrix (Claudia 28.09.2026: „Laptopbreite sauber“): Kopf und Name bleiben stehen, die Seite läuft nicht mehr über */
.al-rahmen{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);max-height:calc(100vh - 230px)}
.al-rahmen table.al{border:0;border-radius:0;overflow:visible;min-width:100%;width:max-content}
.al-rahmen table.al thead{position:sticky;top:0;z-index:3}
.al-rahmen table.al thead th{background:var(--surface)}
.al-rahmen table.al td.name,.al-rahmen table.al thead tr:first-child th:first-child{position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:inset -1px 0 0 var(--line)}
.al-rahmen table.al thead tr:first-child th:first-child{z-index:4}
.al-rahmen table.al tr.rot td.name{box-shadow:inset 2px 0 0 var(--alert),inset -1px 0 0 var(--line)}
table.al th{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 8px 8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:bottom}
table.al th.grp{text-align:center;border-bottom:0;padding-bottom:0;color:var(--soft)}
table.al th.grp span{display:block;border-bottom:1px solid var(--line);padding-bottom:4px;margin:0 6px}
table.al th.mitte,table.al td.mitte{text-align:center}
table.al td{padding:0 8px;height:40px;border-bottom:1px solid #F0ECE5;white-space:nowrap}
table.al tr:last-child td{border-bottom:0}
table.al tbody tr{cursor:pointer}
table.al tbody tr:hover td{background:#FBFAF7}
table.al tbody tr:hover td.pfeil{color:var(--ink)}
table.al td.name a{font-weight:500;text-decoration:none;color:var(--ink)}
table.al td.name span{color:var(--soft);font-weight:400;margin-left:4px}
table.al td.d{color:var(--soft);font-variant-numeric:tabular-nums}
table.al td.pfeil{color:#D9D3CA;width:18px;text-align:right}
table.al tr.rot td:first-child{box-shadow:inset 2px 0 0 var(--alert)}
table.al .sep td{height:28px;background:var(--paper);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);cursor:default}
table.al .sep:hover td{background:var(--paper)}
.st{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;color:var(--soft);font-size:13px}
.st em{font-style:normal}
.st i{width:7px;height:7px;border-radius:50%;flex:none}
.st.ok i{background:var(--ok)}
.st.offen i{border:1.5px solid #D6CFC4;width:8px;height:8px}
.st.bald{color:#9A6B0E} .st.bald i{border:1.5px solid #C8962C;width:8px;height:8px}
.st.ueber{color:var(--alert);font-weight:600} .st.ueber i{background:var(--alert)}
.st.nein{color:#D9D3CA}
.st.leise{color:#B5ADA3}
button.st{background:none;border:0;padding:4px;cursor:pointer;border-radius:50%}
button.st:hover i{border-color:var(--ok);background:#E7F2EC}
.al-haken{display:inline;margin:0}
table.al.vb .st{gap:0} table.al.vb .st.ok em{display:none}
table.al.vb .st.ok i{width:auto;height:auto;background:none;border-radius:0;color:var(--ok)}
table.al.vb .st.ok i::before{content:"✓";font-weight:700;font-size:13px;font-style:normal}
table.al.vb .st.ueber{gap:6px}
.tarif{font-size:12px;color:var(--soft)} .tarif.fb{color:var(--ink)}
.al-legende{display:flex;gap:18px;font-size:12px;color:var(--soft);margin:10px 0 6px;flex-wrap:wrap}
.klein-reihe{margin-top:3px}
.klein-reihe .wahl{padding:2px 8px;font-size:11.5px;cursor:pointer}
.neu-person [hidden]{display:none!important}
.aehnlich-liste{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.aehnlich-liste li{font-size:13.5px}

/* Stammdatenblatt (A-3): Reiter, Kacheln, Zertifizierung als Kästchen; Umschalter zur Ansicht „alles auf einen Blick“ */
.ansicht-schalter{display:flex;gap:4px;align-items:center;margin:-10px 0 14px;flex-wrap:wrap}
.ansicht-schalter .klein{margin-right:4px}
.ansicht-schalter a{padding:3px 10px;border:1px solid var(--line);border-radius:20px;text-decoration:none;font-size:12px;color:var(--soft);background:var(--surface)}
.ansicht-schalter a.an{border-color:var(--ink);color:var(--ink);font-weight:600}
.sb-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.sb-k{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-width:0}
.sb-k .l{font-size:12.5px;color:var(--soft)}
.sb-k .w{font-size:19px;font-weight:600;margin:1px 0}
.sb-k .w small{font-size:13px;font-weight:400;color:var(--soft)}
.sb-k .u{font-size:12.5px;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-k.mahnt{box-shadow:inset 3px 0 0 var(--alert)}
.stammblatt [hidden],.sb-kacheln[hidden]{display:none!important}
.stammblatt .sb-kopf h3{margin-bottom:10px}
.sb-reiter{display:flex;gap:4px;margin:0 0 12px;flex-wrap:wrap}
.sb-reiter a{padding:4px 11px;border:1px solid var(--line);border-radius:20px;text-decoration:none;font-size:12.5px;color:var(--soft);background:var(--surface)}
.sb-reiter a:hover{border-color:var(--line-strong);color:var(--ink)}
.sb-reiter a.an{background:#ECE7DF;border-color:#ECE7DF;color:var(--ink);font-weight:600}
.sb-reiter .p{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:6px;vertical-align:1px}
.sb-reiter .p.ok{background:var(--ok)} .sb-reiter .p.warn{background:var(--warn)} .sb-reiter .p.alert{background:var(--alert)} .sb-reiter .p.mute{background:var(--mute)}
.sb-wahl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--soft)}
.sb-wahl.einer{border-top:0;padding-top:0}
.sb-wahl a{padding:5px 11px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--soft);background:var(--surface)}
.sb-wahl a.an{color:var(--ink);border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink);font-weight:600}
.sb-wahl a small{font-weight:400;color:var(--mute);margin-left:5px;font-size:11.5px}
.sb-zeile{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.sb-zeile .fuell,.sb-danach .fuell{flex:1}
.sb-gruppen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 26px}
.sb-gruppe{margin-bottom:12px}
.sb-gruppe h4,.sb-titel{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 3px}
.sb-titel{margin:14px 0 6px}
.sb-paar{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.sb-paar > span:first-child{color:var(--soft);font-size:13px}
.sb-paar > span:last-child{overflow-wrap:anywhere}
.sb-paar.leer > span:last-child{color:var(--mute)}
.sb-ja{color:var(--ok)}
.sb-bem{font-size:13.5px;padding:8px 10px;background:var(--zebra);border:1px solid var(--line);border-radius:var(--r);margin-top:2px;white-space:pre-line}
.sb-panel > .block{border:0;padding:0;margin:0}
.sb-fehlt{font-size:12.5px;color:var(--warn);font-weight:600;margin:0 0 8px}
.sb-vormerken{margin-top:8px}
.sb-vormerken summary{cursor:pointer}
.sb-hinweis{margin:0 0 10px}
.sb-weg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sb-station{padding:10px 12px;border-left:1px solid var(--line)}
.sb-station:first-child{border-left:0}
.sb-station .n{font-size:11.5px;color:var(--mute);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.sb-station .t{font-size:13.5px;font-weight:600;margin:2px 0 1px;display:flex;align-items:center;gap:6px}
.sb-station .u{font-size:12.5px;color:var(--soft)}
.sb-station.jetzt{box-shadow:inset 0 3px 0 var(--accent)}
.sb-station.fertig .t::before{content:"✓";color:var(--ok);font-weight:700}
.sb-station.offen .t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--warn);flex:none}
.sb-station.laeuft .t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--petrol);flex:none}
.sb-station.spaeter .t{color:var(--soft)}
.sb-station.spaeter .t::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--mute);flex:none}
.sb-boxen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 26px}
.sb-box{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ks-tab td,.ks-tab th{vertical-align:middle}
.ks-abschnitt th{padding-top:16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-weight:600;text-align:left}
.ks-tab tr.ks-abschnitt:first-child th{padding-top:2px}
.ks-haken{width:30px}.ks-haken form{margin:0}
.ks-datum{width:96px;white-space:nowrap}.ks-wer{width:70px}
.ks-kasten{display:inline-flex;width:17px;height:17px;border:1.5px solid var(--line);border-radius:3px;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;background:var(--surface);color:var(--ok);padding:0;font-family:inherit}
.ks-kasten.an{border-color:var(--ok);background:#E4F2EA}
.ks-kasten.klick{border-color:var(--line-strong);cursor:pointer}.ks-kasten.klick.an{border-color:var(--ok)}.ks-kasten.klick:hover{border-color:var(--ink)}
.ks-tab a{color:inherit;text-decoration:none}.ks-tab a:hover{text-decoration:underline}
.zk-gruppen{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;margin-top:12px}
.zk-gruppen.eine{grid-template-columns:minmax(0,1fr)}
.zk-gruppe{border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.zk-gruppe.haupt{border-left:3px solid var(--accent)}
.zk-gruppe h5{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-weight:600}
.zk-gruppe p{margin:7px 0 0}
.zk-knoepfe{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.zk-knoepfe .knopf.leise{font-size:12.5px;padding:5px 10px}
@media (max-width:760px){.zk-gruppen{grid-template-columns:minmax(0,1fr)}}
.sb-box.klickbar{margin:0}
.sb-box.klickbar .kasten{cursor:pointer;padding:0;font-family:inherit;color:inherit}
.sb-box.klickbar .kasten:hover{border-color:var(--ink)}
.sb-box a.w{text-decoration:none;color:inherit}
.sb-box a.w:hover{text-decoration:underline}
.sb-box .kasten{width:16px;height:16px;border:1.5px solid var(--line-strong);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;background:var(--surface)}
.sb-box.ok .kasten{border-color:var(--ok);background:var(--ok);color:#fff}
.sb-box .w{font-size:13px;color:var(--soft);white-space:nowrap}
.sb-box:not(.ok) .name{color:var(--soft)}
.sb-danach{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
@media (max-width:900px){
  .sb-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-gruppen,.sb-boxen{grid-template-columns:minmax(0,1fr)}
  .sb-weg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-station:nth-child(3){border-left:0}
  .sb-station:nth-child(n+3){border-top:1px solid var(--line)}
}
.akte-raster.breit{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}
@media (max-width:1100px){.akte-raster.breit{grid-template-columns:minmax(0,1fr)}}
/* Stammdatenblatt: To-dos im Überblick, Buchvorstellung und MPS im Reiter Kurs, geprüft im Reiter Zahlung */
.sb-todos{border:1px solid var(--line);border-radius:var(--r);margin:0 0 14px;background:var(--surface)}
.sb-todos summary{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;list-style:none;font-size:13.5px}
.sb-todos summary::-webkit-details-marker{display:none}
.sb-todos summary .fuell{flex:1}
.sb-todos[open] summary{border-bottom:1px solid var(--line)}
.sb-todos[open] .sb-auf{display:none}
.sb-kreis{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;border:1.5px solid var(--line-strong);font-size:12px;font-weight:600;color:var(--soft)}
.sb-kreis.an{border-color:var(--accent);color:var(--accent)}
.sb-todo{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--line);font-size:13.5px}
.sb-todo form{margin:0;display:flex}
.sb-haken{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;padding:0}
.sb-haken:hover{border-color:var(--ok);box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 9px #CFE6D9}
.sb-haken.grau{border-style:dashed;cursor:default}
.sb-todo-fuss{padding:8px 12px}
.sb-eintragen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 26px;align-items:end}
.sb-eintragen .sb-box input{width:150px;padding:3px 6px}
.sb-eintragen .knopf{justify-self:start;margin-top:8px}
.geprueft-zeile td{padding:6px 0}
@media (max-width:900px){.sb-eintragen{grid-template-columns:minmax(0,1fr)}}
.sb-trenner{border-top:1px solid var(--line);margin:14px 0 12px}
/* Stammdatenblatt: Reiter „Fall“ */
.sb-fall{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;box-shadow:inset 3px 0 0 var(--ink)}
.sb-fall.hakt{box-shadow:inset 3px 0 0 var(--alert)}
.sb-fall.zu{box-shadow:none;color:var(--soft)}
.sb-fall b{font-size:13.5px;margin-right:4px}
.sb-fall .klein{display:block;margin-top:2px}
.sb-fall-fehlt{display:block;font-size:12.5px;color:var(--alert);font-weight:600;margin-top:2px}
/* Fall: hineinkopierte Texte */
.fall-text-zeile{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.fall-text-auf summary{cursor:pointer;margin-top:2px}
.fall-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;background:var(--zebra);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;margin-top:6px;max-height:420px;overflow:auto}
.fall-text-neu{margin-top:10px}
.fall-text-neu > summary{cursor:pointer;font-size:13px;font-weight:600}
.drei-felder{display:grid;grid-template-columns:150px 170px minmax(0,1fr);gap:8px}
.fall-text-eingabe{min-height:160px;font-size:13px}
@media (max-width:700px){.drei-felder{grid-template-columns:1fr}}
/* Lehrtrainer:innen als Kacheln (wie in der alten App, Paket 33) und Stammdatenblatt */
.la-gruppe{margin:0 0 30px}
.la-gruppenkopf{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:600}
.la-gruppenkopf::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--la-haus,#9AA2A0)}
.la-gruppenkopf small{color:var(--mute);font-weight:400;font-size:12.5px}
.la-haus-institut{--la-haus:#F74E2C} .la-haus-akademie{--la-haus:#007D83}
.la-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.la-karte{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 16px 18px;min-width:0}
.la-karte:hover,.la-karte:focus-within{border-color:var(--line-strong)}
.la-bild{display:flex;flex:none;align-items:center;justify-content:center;width:132px;height:176px;border-radius:12px;background:var(--paper);color:var(--soft);font-size:2.1rem;font-weight:600;overflow:hidden;margin:0 auto 14px}
.la-bild img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.la-name{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;margin-bottom:2px}
.la-ganz::after{content:"";position:absolute;inset:0;border-radius:16px}
.la-ganz:focus-visible{outline:none}
.la-karte:has(.la-ganz:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
.la-rolle{font-size:12.5px;color:var(--soft)}
.la-zeilen{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;align-items:center;max-width:100%}
.la-zeilen li{display:flex;align-items:center;gap:8px;font-size:12.5px;max-width:100%;min-width:0}
.la-ic{flex:none;width:22px;height:22px;border-radius:50%;background:var(--paper);color:var(--soft);font-style:normal;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.la-kontakt{position:relative;z-index:1;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.la-kontakt:hover{text-decoration:underline;text-underline-offset:2px}
.la-neu summary{list-style:none;cursor:pointer}.la-neu summary::-webkit-details-marker{display:none}
.la-neu[open] form{margin-top:8px}
.la-still{margin-top:6px}.la-still summary{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lt-kopf{display:flex;gap:16px;align-items:center;margin:-8px 0 16px}
.la-bild-kopf{width:72px;height:96px;margin:0;font-size:1.4rem;border-radius:10px}
.blatt tr.lt-eigen td:last-child{box-shadow:inset 3px 0 0 var(--ink)}
/* Kalender: Geburtstage */
.kal-geburtstag{display:block;font-size:10.5px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;margin:1px 0}
.kal-geburtstag:hover{color:var(--ink)}
/* Kalender-Ebene „Meine Aufgaben“ (Claudia 01.10.2026): kleine Zeile mit rundem Haken wie in den Aufgaben; erledigt = grau mit ✓ */
.kal-aufgabe{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;margin:1px 0}
.kal-aufgabe i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--soft);flex:none;box-sizing:border-box}
.kal-aufgabe.buchhaltung i{border-radius:2px}
.kal-aufgabe.ueber{color:var(--alert)}.kal-aufgabe.ueber i{border-color:var(--alert)}
.kal-aufgabe.erledigt{color:var(--mute)}.kal-aufgabe.erledigt i{background:var(--mute);border-color:var(--mute)}
.kal-aufgabe:hover{text-decoration:underline}
.ebene-aufgaben{--k:var(--soft)}
.ebene-geburtstag{--k:#B08A1E}
.raster th{white-space:normal;vertical-align:bottom;line-height:1.25}
/* Kursplanung A: Neuer Kurs (Idee 1, zwei Spalten) */
.nk-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.nk-feld{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--soft)}
.nk-feld .feld{font-size:14px;color:var(--ink)}
.nk-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px}
.nk-vorschlag{font-size:12px;color:var(--ok);margin-top:2px;min-height:0}
.nk-uebernahme td,.nk-uebernahme th{font-size:13px}
.nk-uebernahme td.neu{font-weight:600}
.nk-uebernahme td.alt{color:var(--soft)}
.nk-knopfzeile{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:14px}
@media (max-width:1000px){.nk-raster{grid-template-columns:minmax(0,1fr)}}
.nk-tab td{vertical-align:middle}
.nk-eingabe{display:flex;align-items:center;gap:6px}
.nk-tab .nk-eingabe .feld{width:150px;flex:none}
.nk-eingabe .nk-einheit{width:12px;color:var(--soft)}
.nk-tab .feld{width:100%}
.nk-eingabe .haken{height:34px}
.nk-titel{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:16px 0 6px}
.nk-titel .klein{text-transform:none;letter-spacing:0;font-weight:400}
/* Kursplanung B: Termine im Kalender planen (Idee 1) */
.kal.kp1{grid-template-columns:minmax(0,1fr) 330px}
.kp-pille{display:block;font-size:11.5px;line-height:1.25;padding:2px 6px;border-radius:5px;text-decoration:none;color:var(--ink);background:#FFF7EE;border:1.5px dashed #E08A2E;border-left:4px solid #E08A2E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.kp-pille.an{box-shadow:0 0 0 2px var(--ink)}
.kp-pille small{display:block;font-weight:400;color:#B26A00;font-size:10.5px;white-space:normal}
.kp-geist{display:block;font-size:10.5px;line-height:1.2;padding:2px 6px;border-radius:5px;border:1.5px dotted #D9CBB8;color:#B8AC9D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-klickbar{cursor:pointer}
.kp-klickbar:hover{outline:2px dashed #E08A2E;outline-offset:-3px;background:#FFFBF5!important}
.kp-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.kp-panel h3{font-size:14px;margin-bottom:2px}
.kp-info{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#FFFBF5;margin-bottom:8px;box-shadow:inset 3px 0 0 #E08A2E}
.kp-info.leise-info{background:var(--zebra);box-shadow:none;color:var(--soft)}
.kp-z{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 8px;padding:6px 4px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.kp-z:hover{background:#FAF8F5}
.kp-z.an{background:#FFF7EE;box-shadow:inset 3px 0 0 #E08A2E}
.kp-z .alt,.kp-z .h,.kp-z .ok{display:block;font-size:11.5px}
.kp-z .alt{color:var(--mute)}.kp-z .h{color:#B26A00}.kp-z .ok{color:var(--ok)}
.kp-titel{font-size:13px;margin:12px 0 4px}
.kp-lt{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--line)}
.kp-lt-knoepfe{display:flex;gap:4px;flex:none}
.kp-fuss{display:flex;gap:8px;margin-top:12px;align-items:center;flex-wrap:wrap}
@media (max-width:1100px){.kal.kp1{grid-template-columns:minmax(0,1fr)}.kp-panel{position:static;max-height:none}}

/* Neuer Kurs: Schritt-Zeile über „Curriculum übernehmen“ */
.kp-schritt { margin: 0 0 10px; padding: 8px 12px; border-left: 3px solid var(--accent); background: var(--paper); font-size: 14px; }

/* SR-Seminare: Bestätigung vom Haus mit Kanal und eingefügtem Text */
.sr-text summary{cursor:pointer;color:var(--petrol)}
.sr-text .fall-text{position:relative;z-index:1;white-space:pre-wrap;min-width:280px;max-height:260px}
.aendern-maske label.sr-bestaetigung{flex-basis:100%}
.aendern-maske label.sr-bestaetigung textarea{width:100%;max-width:760px;font:inherit;font-size:13px;color:var(--ink)}

/* SR-Seminare: Spalten ohne Umbruch, Ändern-Maske in einer Reihe */
.sr-tab td.sr-termin,.sr-tab td.sr-kurs{white-space:nowrap;overflow:visible}
.sr-maske{padding-left:12px}
.sr-maske .sr-maske-titel{flex-basis:100%;font-size:14px}
.sr-maske select[name=seminarhaus_id]{width:220px}
.sr-maske input[name=raeume]{width:130px;min-width:0}
.sr-maske select[name=haus_bestaetigt_kanal]{width:150px}
.sr-maske input[name=zimmer_ez],.sr-maske input[name=zimmer_dz]{width:60px;min-width:0}
.sr-tab{min-width:1060px}
.sr-tab td.sr-seminar{white-space:normal}
.sr-tab td.sr-seminar b{font-weight:600;margin-right:2px}

/* Unterpunkte als Liste zum Bearbeiten (Fahrplan-Vorlage, eigener Punkt im Kurs) */
.up-liste{display:flex;flex-direction:column;gap:4px;max-width:520px}
.up-zeile{display:flex;gap:6px;align-items:center}
.up-zeile .feld{flex:1;min-width:0}
.up-liste .up-dazu{align-self:flex-start}
.fpv-neu-unter,.fp-neu-unter{flex-basis:100%;display:flex;flex-direction:column;gap:4px}
.fp-unter ul.unterpunkte{margin:6px 0 4px}
.fp-unter-bearb{margin-top:6px}
.fp-unter-bearb > summary{cursor:pointer;color:var(--petrol)}
.fp-unter-bearb .up-liste{margin:6px 0}

/* Einstellungen → Mails an Lehrtrainer:innen */
.ltm-kachel{max-width:1200px}
.ltm-kachel label{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.ltm{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
.ltm h2{font-size:15px;margin-bottom:8px}
.ltm-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.ltm textarea{font:inherit;font-size:13px;line-height:1.5}
.ltm-vorschau{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:13.5px}
.ltm-betreff{font-weight:600;margin:4px 0 10px}
.ltm-text{white-space:pre-wrap;line-height:1.55}
@media (max-width:900px){.ltm-zwei{grid-template-columns:1fr}}

/* Mails an Lehrtrainer:innen erzeugen */
.ltp{max-width:980px}
.ltp-person{border-top:1px solid var(--line);padding:8px 0}
.ltp-person > summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.ltp-person > summary::-webkit-details-marker{display:none}
.ltp-person > summary .fuell{flex:1}
.ltp-person .ltm-vorschau{margin:8px 0 4px 30px}

/* Teil D · Kurs kommt nicht zustande */
.kd-form{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:14px 16px;margin:0 0 14px;box-shadow:inset 3px 0 0 var(--alert);max-width:760px}
.kd-form h2{font-size:15px;margin-bottom:6px}
.kd-felder{display:grid;grid-template-columns:2fr 1fr;gap:10px 14px;margin:10px 0}
.kd-felder label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--soft)}
.kd-band{display:flex;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:inset 4px 0 0 var(--alert);margin-bottom:14px;font-size:14px}
.kd-band .fuell{flex:1}
.kd-marke{color:var(--alert)}
.kd-leiste{margin:-6px 0 8px}
.kd-folge{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);font-size:13.5px}
.kd-folge .nr{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--soft)}
.kd-folge.fertig .nr{background:var(--ok);border-color:var(--ok);color:#fff}
.kd-folge.leer{color:var(--mute)}
.kd-folge .klein{display:block}
.kd-knoepfe{display:flex;gap:6px;align-items:center}

/* A-4: Balken im Kursfortschritt (grün gehalten, gelb läuft) */
.ub-balken{display:flex;align-self:stretch;height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:6px 0 4px}
.ub-balken i{display:block;height:100%}
.ub-balken i.ok{background:var(--ok)}
.ub-balken i.warn{background:var(--warn)}

/* A-6: Offene Aufgaben zum Klären (Zahlungen) */
.zk-kachel{margin-bottom:14px;box-shadow:inset 3px 0 0 var(--warn)}
.zk-zeile{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.zk-zeile form{margin:0}
.zk-neu{margin-top:8px}
.zk-neu > summary{list-style:none;display:inline-block}
.zk-neu > summary::-webkit-details-marker{display:none}

/* Zertifizierungstermin (Entwurf 26.09.2026, freigegeben) */
.zt-kopfzeile{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}
.zt-titel{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.zt-titel h1{font-size:22px;font-weight:600;letter-spacing:-.01em}
.zt-titel .klein{font-size:14px}
.zt-kacheln{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.zt-k{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.zt-k .l{font-size:12.5px;color:var(--soft)}
.zt-k .w{font-size:19px;font-weight:600;margin:1px 0}
.zt-k .u{font-size:12.5px;color:var(--soft)}
.zt-k.mahnt{box-shadow:inset 3px 0 0 var(--alert)}
.zt-tab{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;table-layout:fixed}
.zt-tab th{font-size:12.5px;font-weight:600;color:var(--soft);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.zt-tab td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.zt-tab tbody tr:last-child td{border-bottom:0}
.zt-tab tr.mahnt td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.zt-tab tr.fertig td{color:var(--soft)}
.zt-tab tfoot td{font-size:12.5px;color:var(--soft);background:var(--zebra);border-top:1px solid var(--line)}
.zt-balken{display:inline-flex;gap:2px;vertical-align:middle;margin-right:8px}
.zt-balken i{width:9px;height:9px;border-radius:2px;background:var(--line)}
.zt-balken i.da{background:var(--ok)}
.zt-fehlt{font-size:12.5px;color:var(--soft);margin-top:3px}
.zt-haken{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.zt-klein-feld{width:44px;padding:3px 6px;border:1px solid var(--line-strong);border-radius:5px;text-align:right;background:var(--surface);font:inherit}
.zt-anmelden{display:flex;gap:10px;align-items:center;margin-top:12px}
.zt-anmelden input{flex:1;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font:inherit}
@media (max-width:900px){.zt-kacheln{grid-template-columns:1fr}}

/* Preisstufen (OT) */
.stufen-tab th:first-child{width:260px}
.stufen-tab td{vertical-align:top;font-size:13px}
.stufen-tab tr.summe td,.stufen-tab tr.summe th{background:var(--zebra)}
.stufen-tab textarea{width:100%;font:inherit;font-size:12.5px}

.stufe-marke{display:inline-block;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:10px;border:1px solid var(--petrol);color:var(--petrol);vertical-align:1px}

/* SG-Zertifizierungsbedingungen: Karten und Vergleich (27.09.2026) */
.sg-grp{display:flex;align-items:baseline;gap:10px;margin:22px 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:600}
.sg-grp::after{content:"";flex:1;border-bottom:1px solid var(--line)}
.sg-grp-zusatz{letter-spacing:0;text-transform:none;font-weight:400}
.sg-karten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:900px){.sg-karten{grid-template-columns:1fr}}
.sg-k{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--petrol);border-radius:var(--r);padding:14px 16px}
.sg-k.abis{border-left-color:var(--mute)}
.sg-k h3{margin:0;font-size:15px}
.sg-kopf{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.sg-gz{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.sg-gz.klein{font-size:13px;color:var(--soft)}
.sg-art{font-size:11.5px;color:var(--soft)}
.sg-chips{margin-top:8px}
.sg-leer{color:var(--mute)}
.sg-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:10px 0 6px;background:var(--line)}
.sg-bar span{display:block;height:100%}
.sg-leg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 10px;font-size:12px;color:var(--soft)}
.sg-leg b{color:var(--ink);font-variant-numeric:tabular-nums}
.sg-leg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
.sg-e{font-size:10.5px}
.sg-k p{margin:8px 0 0;font-size:12.5px;color:var(--soft)}
.sg-k p.sg-quelle{font-size:11.5px}
.sg-m{width:100%;border-collapse:collapse;background:var(--surface)}
.sg-m td,.sg-m th{padding:8px 10px;font-size:13px;border-top:1px solid var(--line)}
.sg-m tbody th{font-weight:600;font-size:12px;color:var(--soft);text-align:left;background:var(--zebra);white-space:nowrap}
.sg-m td{text-align:center;font-variant-numeric:tabular-nums;vertical-align:middle}
.sg-m thead th{text-align:center;vertical-align:bottom;font-size:12.5px;border-top:0}
.sg-m .band th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);border-bottom:2px solid var(--petrol);font-weight:600}
.sg-m .band th:first-child{border-bottom:0}
.sg-m .band th.ak{border-bottom-color:var(--accent)}
.sg-m td.txt{font-size:11.5px;text-align:left;color:var(--soft);line-height:1.35;vertical-align:top}
.sg-m .trenn{border-left:2px solid var(--line-strong)}
.sg-m tr.summe td{border-top:1px solid var(--line-strong)}
.sg-m{table-layout:fixed}
.sg-m th:first-child{width:118px}
.sg-m thead th{overflow-wrap:anywhere;hyphens:auto}
.sg-m .kuerzel{white-space:normal;display:inline-block;margin:1px 0}
.sg-m td.txt{hyphens:auto;overflow-wrap:anywhere}

/* Rückgängig oben rechts und Klick aufs Häkchen (27.09.2026) */
main{position:relative}
.ru{position:absolute;top:22px;right:32px;z-index:30}
.ru-knopf{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px 0 10px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;list-style:none;user-select:none}
.ru-knopf::-webkit-details-marker{display:none}
.ru-knopf svg{width:16px;height:16px;color:var(--soft)}
.ru-knopf:hover{border-color:var(--soft)}
.ru-knopf .n{min-width:18px;height:18px;border-radius:9px;background:var(--line);color:var(--soft);font-size:11px;font-weight:600;display:grid;place-items:center;padding:0 5px}
.ru[open] .ru-knopf{border-color:var(--ink)}
.ru-feld{position:absolute;right:0;top:40px;width:400px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 10px 28px rgba(40,35,32,.16);overflow:hidden}
.ru-feld h4{margin:0;padding:12px 14px 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-weight:600}
.ru-z{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:9px 14px;border-top:1px solid var(--line);font-size:13px}
.ru-z form{margin:0}
.ru-z .zeit{color:var(--soft);font-variant-numeric:tabular-nums;font-size:12px}
.ru-z .was b{font-weight:600}
.ru-z .wo{display:block;color:var(--soft);font-size:11.5px}
.ru-z .zk{border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);padding:3px 9px;font-size:12px;color:var(--ink);white-space:nowrap;cursor:pointer;font-family:inherit}
.ru-z .zk:hover{border-color:var(--ink)}
.ru-z.neu{background:var(--zebra)}
.ru-z.alt .was,.ru-z.alt .zeit,.ru-z.alt b{color:var(--mute)}
.ru-leer{margin:0;padding:10px 14px 12px;font-size:13px;color:var(--soft);border-top:1px solid var(--line)}
.ru-fuss{padding:9px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--soft)}
@media print{.ru{display:none}}
@media (max-width:700px){.ru{position:static;margin-bottom:10px}.ru-feld{width:auto;left:16px;right:16px;position:absolute}}
.st-pop{display:inline-block;position:relative}
.st-pop summary{list-style:none;cursor:pointer;border-radius:4px;padding:2px 4px}
.st-pop summary::-webkit-details-marker{display:none}
.st-pop summary:hover,.st-pop[open] summary{background:var(--zebra);box-shadow:inset 0 0 0 1px var(--line-strong)}
.st-feld{position:absolute;z-index:25;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:230px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 22px rgba(40,35,32,.14);padding:11px 12px;text-align:left;cursor:default;font-size:12.5px}
.st-t{color:var(--soft);font-size:11.5px}
.st-d{font-weight:600;margin:1px 0 9px;color:var(--ink)}
.st-feld form{margin:0}
.st-feld .knopf{font-size:12px;padding:3px 9px}
.st-datum{display:flex;gap:6px;margin-top:6px !important;padding-top:8px;border-top:1px solid var(--line)}
.st-datum .feld{width:100px;font-size:12px;padding:3px 6px}
.rechnung-firma{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.rechnung-ohne{margin:8px 2px 0}
/* Kalender: Platz für „Rückgängig“ oben rechts neben Monat/Jahr */
.kal-kopf{padding-right:150px}
@media (max-width:700px){.kal-kopf{padding-right:0}}
/* ABIS Kurse: Institut orange (CI), Akademie petrol; Übersicht als Stammbaum (Entwurf C1, 27.09.2026) */
:root{--institut:#F74E2C;--institut-hell:#FEF3EF;--institut-rand:#F9C9BC;--institut-kante:#F9A48F;
      --akademie:#0F6E78;--akademie-hell:#EDF5F6;--akademie-rand:#B9D6DA;--akademie-kante:#86B3B9}
.ak-baum{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:0}
.ak-kopf{padding:10px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12.5px}
.ak-kopf.institut{background:var(--institut)} .ak-kopf.akademie{background:var(--akademie)}
.ak-zelle{background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line);padding:12px 16px 4px}
.ak-zelle.ak-ende{border-bottom:1px solid var(--line);border-radius:0 0 8px 8px;padding-bottom:16px}
.ak-t{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);font-weight:600;margin-bottom:8px}
.ak-reihe{display:grid;gap:10px}
.ak-reihe.r1{grid-template-columns:1fr} .ak-reihe.r2{grid-template-columns:1fr 1fr} .ak-reihe.r3{grid-template-columns:repeat(3,1fr)}
.ak-reihe.breit{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ak-pfeil{text-align:center;color:var(--line-strong);font-size:18px;line-height:1;margin:8px 0 0}
.ak-box{border:1px solid var(--line-strong);border-left:3px solid;border-radius:7px;padding:10px 12px;background:var(--surface);min-width:0}
.institut .ak-box{border-left-color:var(--institut-kante)} .akademie .ak-box{border-left-color:var(--akademie-kante)}
.ak-box.grund{padding:16px 18px;border-left-width:6px}
.institut .ak-box.grund{background:var(--institut-hell);border-color:var(--institut-rand);border-left-color:var(--institut)}
.akademie .ak-box.grund{background:var(--akademie-hell);border-color:var(--akademie-rand);border-left-color:var(--akademie)}
.ak-box.abis{border-left-color:var(--mute);background:var(--zebra)}
.ak-n{font-weight:600;font-size:14px;line-height:1.3}
.ak-box.grund .ak-n{font-size:17px}
.ak-kz{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:4px;color:#fff;margin-right:7px;vertical-align:1px}
.institut .ak-kz{background:var(--institut)} .akademie .ak-kz{background:var(--akademie)} .ak-box.abis .ak-kz{background:var(--mute)}
.ak-box.grund .ak-kz{font-size:12px;padding:2px 8px}
.ak-a{font-size:11.5px;color:var(--soft);margin-top:2px}
.ak-z{display:flex;gap:10px;align-items:baseline;margin-top:6px;font-size:12px;color:var(--soft);flex-wrap:wrap}
.ak-z b{color:var(--ink);font-size:15px}
.ak-box.grund .ak-z b{font-size:20px}
.ak-v{font-size:11.5px;color:var(--soft);margin-top:5px;line-height:1.35}
.ak-box.grund .ak-v{font-size:12.5px}
.ak-k{font-size:11px;color:var(--mute);margin-top:5px}
.ak-legende{margin-top:14px;font-size:12px;color:var(--soft);display:flex;gap:18px;flex-wrap:wrap}
.ak-legende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.ak-legende i.institut{background:var(--institut)} .ak-legende i.akademie{background:var(--akademie)} .ak-legende i.abis{background:var(--mute)}
@media (max-width:900px){.ak-baum{grid-template-columns:1fr}.ak-baum>*{grid-column:1 !important;grid-row:auto !important}.ak-reihe.r3,.ak-reihe.r2{grid-template-columns:1fr}}
/* Karten und Vergleich in den Bereichsfarben */
.sg-grp.institut,.sg-grp.akademie{color:#fff;padding:8px 14px;border-radius:6px}
.sg-grp.institut{background:var(--institut)} .sg-grp.akademie{background:var(--akademie)}
.sg-grp.institut::after,.sg-grp.akademie::after{display:none}
.sg-k.institut{border-left-color:var(--institut)} .sg-k.akademie{border-left-color:var(--akademie)}
.sg-m .band th{color:#fff;border-bottom:0;background:var(--institut)}
.sg-m .band th.ak{background:var(--akademie)}
.sg-m .band th:first-child{background:var(--surface)}
.ak-start{margin-top:7px;font-size:12px;color:var(--ink)}
.ak-start b{font-weight:700}
.ak-start.leer{color:var(--mute)}
.sg-k .ak-start{margin-top:8px}
.ak-box{overflow-wrap:anywhere;hyphens:auto}
.druck-wahl{display:inline-flex;gap:2px}
/* A-7 Fall: Aufgabe abhaken, „+ Aufgabe an …“, Verlauf-Filter (wie Vorschau v62) */
.aufgabe-haken{margin:0;display:flex;align-items:center}
.aufgabe-haken input{width:15px;height:15px;cursor:pointer;accent-color:var(--ok)}
.neue-aufgabe .knopfreihe{display:inline-flex;gap:0;align-self:flex-start}
.neue-aufgabe label.wahl{display:inline-block;cursor:pointer;color:var(--soft)}
.neue-aufgabe label.wahl input{position:absolute;opacity:0;width:0;height:0}
.na-maske .kurz{width:130px}
.na-maske .knopf.haupt{align-self:flex-end}
.verlauf .zeitleiste li[hidden]{display:none}
/* Tagessätze in diesem Kurs (27.09.2026) */
.kurs-saetze{margin-top:14px}
.kurs-saetze h3{margin:0 0 4px}
.kurs-saetze .satz-feld{width:110px;text-align:right}
.kurs-saetze tr.eigen td:first-child{font-weight:600}
.kurs-saetze tr.eigen .satz-feld{border-color:var(--ink)}
.mail-text{white-space:pre-wrap;font:inherit;font-size:12.5px;color:var(--soft);margin:6px 0 0}
#info-tabelle tr[hidden]{display:none}
/* Anerkennungen: ohne feste Spaltenbreiten, damit in der halben Breite nichts abgeschnitten wird (Überlauf-Check 27.09.2026) */
.blatt.formalien td,.blatt.formalien th{white-space:normal;overflow:visible;text-overflow:clip;vertical-align:top}
.blatt.formalien td.mono{overflow-wrap:anywhere;font-size:12px}
.blatt.formalien td.datum{white-space:nowrap}
.blatt.formalien td.rechts{white-space:nowrap;width:1%}
/* Überlauf-Check 27.09.2026: lange Seminartitel auf der Startseite umbrechen statt die Seite zu verbreitern */
.start-raster a.name{white-space:normal}
.start-raster .blatt{table-layout:auto;width:100%}
/* Überlauf-Check 27.09.2026: die eindeutigen Unterköpfe der Anmeldeliste („Kursmail raus“ …) dürfen zweizeilig werden */
table.al thead tr + tr th.mitte{white-space:normal;line-height:1.3;min-width:64px}
/* Überlauf-Check 27.09.2026: „Aus lexoffice zurück“ hat jetzt vier Felder plus Knopf; Felder passen sich der Spalte an */
.lex-rueck{grid-template-columns:auto repeat(4,minmax(0,1fr)) auto}
.lex-rueck .feld{min-width:0;width:100%!important}
@media (max-width:1100px){.lex-rueck{grid-template-columns:1fr 1fr}}
/* Liste links: Firmenname darf umbrechen statt die Spalte zu sprengen */
.rechnung-firma{white-space:normal;max-width:none;overflow:visible}
.rechnung-raster .blatt td{white-space:normal}
/* Überlauf-Check 27.09.2026: Formulare in schmalen Stellen klappen als Feld über der Seite auf, statt die Spalte oder Seite zu sprengen */
.iban-eingabe{position:relative}
.iban-eingabe[open] > form{position:absolute;z-index:25;right:0;top:calc(100% + 6px);display:flex;flex-wrap:wrap;gap:6px;width:max-content;max-width:420px;
  background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 22px rgba(40,35,32,.14);padding:10px 12px;margin:0!important}
.iban-eingabe > summary{white-space:nowrap}
td.rechts .iban-eingabe > summary{white-space:normal}
.iban-eingabe[open] > form{left:0;right:auto}
td.rechts .iban-eingabe[open] > form{left:auto;right:0}
/* „+ Lehrtrainer:in“: aufgeklappt eine eigene Zeile rechts in der Leiste, Feld passt sich an */
.la-neu[open]{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-end}
.la-neu form .feld{max-width:100%}
/* Überlauf-Check 27.09.2026 */
.ablauf-zeile .schritt{white-space:normal}
.blatt.formalien td,.blatt.formalien th{padding:7px 6px}
.blatt.formalien .ampel{white-space:normal}
.stufen-tab th:first-child{width:200px}
.stufen-tab input.feld{width:100%;min-width:0}
.blatt.formalien td{hyphens:auto}
.blatt.formalien td.rechts .knopf{padding:3px 8px}
.stufen-tab tr.summe td .klein{display:block}
.stufen-tab th,.stufen-tab td{white-space:normal}
.stand-vom{display:inline-flex;align-items:center;gap:6px;margin-right:8px;color:var(--soft)}
.stand-vom .feld{width:150px}
/* Sammeleingabe: Datumsfelder breit genug für TT.MM.JJJJ und das Kalenderzeichen */
.zert-eingabe input[type=date]{width:136px;min-width:136px}
.zertliste th small.soll,.zert-eingabe th small.soll{display:block;font-weight:400;color:var(--mute)}
/* A-12 Freigaben fürs Praktikum */
.freigabe-matrix{max-width:720px}
.freigabe-matrix td.mitte input{width:16px;height:16px;cursor:pointer}
.fg-kurse{border:0;padding:0;margin:12px 0 6px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.fg-kurse legend{width:100%;margin-bottom:4px;font-weight:600;color:var(--ink)}
.fg-kurse legend span{font-weight:400;color:var(--soft)}
.fg-kursliste{display:flex;flex-wrap:wrap;gap:4px 12px}
/* Zertifikatsprofile: Kriterientabelle ohne Überlauf bei 1280 px */
.kriterien-tab input.feld{width:100%;min-width:0}
.kriterien-tab td,.kriterien-tab th{padding-left:6px;padding-right:6px}
/* Rechnungen: die ganze Zeile links wählt die Person, nicht nur der Name (Claudia, 28.09.2026) */
.rechnung-raster tr.rechnung-wahl{cursor:pointer}
.rechnung-raster tr.rechnung-wahl:hover td{background:var(--zebra)}
/* Links, für die die Freigabe fehlt, stehen nur als Text da (links.py) */
.gesperrt-link{color:inherit;cursor:default;text-decoration:none}
.gesperrt-link.knopf{opacity:.45;pointer-events:none}

/* Anmeldung mit Code (Livegang P2, 28.09.2026) */
.anmelde-karte.breit{width:min(460px,100%)}
.anmelde-karte .meldung.ok{border-left-color:var(--ok)}
.einrichten-schritte{padding-left:18px;font-size:13px;color:var(--ink);margin-bottom:12px}
.einrichten-schritte li{margin-bottom:10px}
.einrichten-schritte .qr{margin:10px 0 6px}
.einrichten-schritte .qr svg{display:block;width:240px;max-width:100%;height:auto}
code.schluessel{font-size:12.5px;letter-spacing:.04em;word-break:break-all;background:var(--paper);padding:1px 4px;border-radius:3px}
.notfallcodes{columns:2;padding-left:22px;font-size:15px;line-height:2}
.notfallcodes code{font-size:15px;letter-spacing:.06em}
@media print{.nicht-drucken{display:none!important}.anmelde-rahmen{min-height:0;display:block}.anmelde-karte{border:0}}
.kal-hinweis{border-left-color:var(--line-strong);color:var(--soft)}
/* 4a: gelber Hinweis in den Prüfstufen (z. B. „Lastschrift läuft · Mandat-Datum fehlt“ in bestehenden Kursen) */
.stufe-k.sk-hinweis,.stufe-k.sk-hinweis span{color:#9A6B0E;font-weight:500}

/* Aufgaben nach Kategorien, Fassung 1a (28.09.2026) */
.seite .unterblock{border-left:1px solid var(--line);margin:0 0 6px 14px;display:flex;flex-direction:column;gap:1px}
.seite a.sub{padding:4px 10px 4px 12px;font-size:12.5px;color:var(--soft);border-left:3px solid transparent}
.seite a.sub small{font-size:11.5px;color:var(--mute)}
.seite a.sub small.rot{color:var(--alert);font-weight:600}
.seite a.sub.an{color:var(--ink);font-weight:600;background:#F1EEE9;border-left-color:var(--ink)}
.seite a.sub.trenn{margin-top:6px}
.auf-kopf{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.auf-kat{font-size:13px;font-weight:600}
.auf-zahlen{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px}
.auf-zahlen .zk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;text-decoration:none;color:var(--ink)}
.auf-zahlen .zk b{display:block;font-size:24px;font-weight:600;line-height:1.1}
.auf-zahlen .zk span{font-size:12px;color:var(--soft)}
.auf-zahlen .zk.rot{box-shadow:inset 3px 0 0 var(--alert)} .auf-zahlen .zk.rot b{color:var(--alert)}
.auf-zahlen .zk.an{border-color:var(--ink)}
.auf-zahlen .zk:hover{border-color:var(--line-strong)}
.auf-gruppe{display:flex;align-items:baseline;gap:8px;font-size:12.5px;font-weight:600;color:var(--soft);margin:18px 2px 6px}
.auf-gruppe span{font-weight:400}
.auf-gruppe.rot{color:var(--alert)}
.auf-liste{background:var(--surface);border:1px solid var(--line);border-radius:8px}
.auf-zeile{display:grid;grid-template-columns:24px minmax(0,1fr) 84px 130px auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #F0ECE5;font-size:13.5px}
.auf-liste > .auf-zeile:first-child{border-top:0}
.auf-zeile:hover{background:#FBFAF7}
.auf-zeile.dringend{box-shadow:inset 3px 0 0 var(--alert)}
.auf-zeile.offen-zeile{background:var(--zebra)}
.auf-titel{font-weight:500}
.auf-titel a{text-decoration:none}
.auf-titel a:hover{text-decoration:underline}
.auf-unter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--soft);margin-top:2px}
.kurs-pille{font-size:11px;font-weight:600;color:var(--soft);border:1px solid var(--line-strong);border-radius:10px;padding:0 7px;white-space:nowrap}
.fortschritt{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--soft)}
.fortschritt i{display:inline-block;width:64px;height:5px;border-radius:3px;background:#ECE7DF;position:relative;overflow:hidden}
.fortschritt i b{position:absolute;left:0;top:0;bottom:0;background:var(--ok)}
.auf-frist{font-size:12px;color:var(--soft);white-space:nowrap;font-variant-numeric:tabular-nums}
.auf-frist.ueber{color:var(--alert);font-weight:600}
.plan{font-size:11.5px;color:var(--petrol);white-space:nowrap}
.plan.offen{color:var(--mute)}
.auf-knoepfe{display:flex;gap:6px;align-items:center;justify-content:flex-end;position:relative}
.haken-rund{width:18px;height:18px;border-radius:50%;border:1.5px solid #CFC7BB;background:var(--surface);display:inline-block;padding:0;cursor:pointer}
.haken-rund:hover{border-color:var(--ok);background:#E7F2EC}
.haken-rund.aus{border-style:dashed;cursor:default;background:transparent}
.auf-haken form{margin:0;display:flex}
details.einplanen{position:relative}
details.einplanen > summary{list-style:none}
details.einplanen > summary::-webkit-details-marker{display:none}
.einplanen-feld{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;
  box-shadow:0 8px 22px rgba(40,35,32,.14);padding:10px 12px;width:260px;display:flex;flex-direction:column;gap:8px}
.einplanen-tage{display:flex;flex-wrap:wrap;gap:4px}
.auf-detail{border-top:1px solid var(--line);background:var(--zebra);padding:12px 14px 14px 50px}
.auf-detail h4{font-size:12px;color:var(--soft);font-weight:600;margin-bottom:4px}
.auf-detail-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px}
@media (max-width:900px){.auf-zeile{grid-template-columns:24px 1fr auto}.auf-frist,.auf-plan{display:none}.auf-detail-zwei{grid-template-columns:1fr}.auf-zahlen{grid-template-columns:repeat(2,1fr)}}

/* Mein Tag · Meine Woche (28.09.2026); kein Lachsrosa: heute = dunkler Strich oben */
.karte-a{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:12.5px}
.karte-a[draggable="true"]{cursor:grab}
.karte-a.zieht{opacity:.4}
.karte-a.ueber{box-shadow:inset 3px 0 0 var(--alert)}
.karte-a.st-arbeit{box-shadow:inset 3px 0 0 var(--petrol)}
.karte-a.st-wartet{background:var(--zebra)}
.karte-a.st-erledigt{color:var(--soft)}
.karte-a.st-erledigt .ka-titel{text-decoration:line-through;text-decoration-color:var(--mute)}
.karte-a.vorschlag{border-style:dashed}
.ka-titel{font-weight:500;margin-bottom:3px;line-height:1.35}
.ka-titel a{text-decoration:none} .ka-titel a:hover{text-decoration:underline}
.ka-unter{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--soft);font-size:11.5px}
.ka-unter .rot,.rot{color:var(--alert)}
.aufwand{font-size:10.5px;border-radius:3px;padding:0 5px;background:#ECE7DF;color:var(--soft)}
.ka-wartet{font-size:11.5px;color:var(--petrol);margin-top:4px}
.ka-erledigt{font-size:11.5px;color:var(--ok);margin-top:3px}
.ka-knoepfe{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;align-items:flex-start}
.ka-knoepfe form{margin:0}
.ka-knoepfe .knopf{padding:1px 7px;font-size:11.5px}
details.ka-mehr{position:relative}
details.ka-mehr > summary{list-style:none} details.ka-mehr > summary::-webkit-details-marker{display:none}
.ka-feld{position:absolute;left:0;top:calc(100% + 4px);z-index:30;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;
  box-shadow:0 8px 22px rgba(40,35,32,.14);padding:10px;width:280px;display:flex;flex-direction:column;gap:8px}
.ka-feld .feld{font-size:12.5px}
.ka-tage,.ka-zeile{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.ka-zeile .feld{flex:1;min-width:0}
.knopf.an{border-color:var(--ink);font-weight:600}
.morgen{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:14px}
.morgen-zahlen{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.morgen-zahlen b{display:block;font-size:22px;font-weight:600;line-height:1.1}
.morgen-zahlen span{font-size:12px;color:var(--soft)}
.morgen-zahlen .rot b{color:var(--alert)}
.morgen-last{margin-top:8px}
.tag-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 280px;gap:12px;align-items:start}
.tag-spalte,.w-spalte{background:#EFEBE4;border-radius:8px;padding:8px;min-height:160px}
.tag-spalte h3,.w-spalte h3{font-size:12.5px;display:flex;gap:6px;align-items:baseline;margin:2px 4px 8px}
.tag-spalte h3 span,.w-spalte h3 span{color:var(--soft);font-weight:400;margin-left:auto}
.tag-spalte .leer{padding:4px 6px}
.tag-seite{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.tag-seite h3{font-size:12.5px;margin-bottom:6px}
.vor-zeile{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:6px 0;border-top:1px solid #F0ECE5;margin:0}
.vor-titel{font-size:12.5px;font-weight:500}
.woche-board{display:grid;grid-template-columns:240px repeat(5,minmax(150px,1fr));gap:8px;align-items:start;overflow-x:auto}
.w-spalte.ablage{background:var(--surface);border:1px dashed var(--line-strong)}
.w-spalte.heute{background:#E9E4DB;box-shadow:inset 0 3px 0 var(--ink)}
.w-spalte.drueber,.tag-spalte.drueber{outline:2px solid var(--petrol);outline-offset:-2px}
.w-last{font-size:11px;color:var(--soft);margin:-4px 4px 6px}
@media (max-width:1100px){.tag-board{grid-template-columns:1fr 1fr}.tag-seite{grid-column:1/-1}.woche-board{grid-template-columns:220px repeat(5,160px)}}

/* Team · Erledigt (28.09.2026) */
.team-hinweise{display:flex;gap:6px;flex-wrap:wrap}
.chip-h{font-size:12px;border:1px solid var(--line-strong);border-radius:20px;padding:2px 10px;background:var(--surface);color:var(--soft);text-decoration:none}
.chip-h.rot{color:var(--alert);border-color:#E4B9B3}
.team-rueck{margin-bottom:12px}
.team-rueck .rueckmeldung{align-items:center}
.rm-knoepfe{display:flex;gap:6px;align-items:center;position:relative}
.rm-knoepfe form{margin:0}
.team-brett{display:grid;gap:8px;align-items:start;overflow-x:auto}
.team-kopf{font-size:12.5px;font-weight:600;padding:2px 4px}
.team-kopf.heute{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.team-wer{padding-top:6px;font-size:13px}
.team-wer .kuerzel{margin-left:6px}
.team-zelle{background:#EFEBE4;border-radius:8px;padding:6px;min-height:60px}
.team-zelle.heute{background:#E9E4DB;box-shadow:inset 0 3px 0 var(--ink)}
.team-zelle.abwesend{background:repeating-linear-gradient(135deg,#EFEBE4 0 8px,#E6E1D8 8px 16px)}
.vertretung{margin-bottom:12px}
.log-liste{background:var(--surface);border:1px solid var(--line);border-radius:8px}
.log-tag{padding:8px 14px;background:var(--zebra);font-size:12px;font-weight:600;border-top:1px solid var(--line)}
.log-liste .log-tag:first-child{border-top:0}
.log-e{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 150px;gap:8px;padding:7px 14px;border-top:1px solid #F0ECE5;font-size:13px;align-items:baseline}
.log-e .zeit{color:var(--soft);font-size:12px}
.log-rm{grid-column:3/5;font-size:12px;color:var(--soft);background:var(--paper);border-radius:4px;padding:3px 7px}
.rb-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
/* Wochenrückblick je Person (28.09.2026, Fassung A): die Mail als Vorschau, die Leitung sieht das Team nach Themen */
.rb-mail{max-width:692px}
.rb-mail > div{border-radius:8px}
.rb-person h2 .klein{font-weight:400}
.rb-fuerdich{border:1px solid var(--line-strong);border-radius:6px;padding:4px 10px;margin:6px 0 10px}
.rb-z{position:relative;padding:5px 0 5px 20px;border-bottom:1px solid #F1EEE9;font-size:13.5px}
.rb-z:last-child{border-bottom:0}
.rb-z::before{position:absolute;left:1px;top:5px;width:14px;text-align:center;font-weight:700}
.rb-z.ok::before{content:"✓";color:var(--ok)}.rb-z.neu::before{content:"→";color:var(--warn)}
.rb-z.wart::before{content:"…";color:var(--petrol)}.rb-z.frage::before{content:"?";color:var(--accent)}
.rb-kompakt{color:#4A433D}
.rb-wt{display:inline-block;min-width:22px;font-size:11.5px;color:var(--soft);font-weight:600}
.rb-komm{display:block;margin-top:3px;padding:3px 9px;border-left:2px solid var(--line-strong);background:var(--zebra);color:#4A433D}
.rb-termin{display:inline-block;margin-left:4px;font-size:11.5px;font-weight:600;border:1px solid var(--line-strong);border-radius:20px;padding:0 7px;white-space:nowrap}
.rb-termin.ohne{color:var(--warn);border-color:#E6D2A8}
.klein.warn{color:var(--warn)}
.rb-thema{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}
.rb-thema-kopf{font-weight:600;font-size:13.5px;display:flex;justify-content:space-between;align-items:baseline}
.mt-liste{list-style:none;margin-top:8px;font-size:13px}.mt-liste li{padding:3px 0;border-top:1px solid #F0ECE5}
/* Aufgaben in der Seitenleiste: auf- und zuklappbar (28.09.2026) */
.seite-aufgaben > summary{list-style:none;display:flex;align-items:center;gap:2px}
.seite-aufgaben > summary::-webkit-details-marker{display:none}
.seite-aufgaben > summary > a{flex:1}
.seite-aufgaben .klapp-pfeil{width:26px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--r);color:var(--soft)}
.seite-aufgaben .klapp-pfeil::before{content:"›";font-size:15px;transition:transform .15s}
.seite-aufgaben[open] .klapp-pfeil::before{transform:rotate(90deg)}
.seite-aufgaben .klapp-pfeil:hover{background:var(--paper);color:var(--ink)}
/* Vorrat zum Einplanen (28.09.2026) */
.vorrat-filter{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.vorrat-filter .feld{width:auto;font-size:12.5px;padding:3px 6px}
.vorrat-filter .wahl{cursor:pointer}
.vorrat-hinweis{margin-bottom:6px}
.vorrat-gruppe{font-size:11px;font-weight:600;color:var(--soft);margin:8px 2px 4px;display:flex;gap:6px}
.vorrat-gruppe span{font-weight:400}
.vorrat-gruppe.rot{color:var(--alert)}
.vorrat .karte-a .ka-knoepfe .knopf{padding:0 6px;font-size:11px}
.woche-board{grid-template-columns:270px repeat(5,minmax(150px,1fr))}
.w-spalte.ablage{max-height:calc(100vh - 160px);overflow:auto}
.tag-seite{max-height:calc(100vh - 140px);overflow:auto}
/* Kategorien als Leiste auf der Aufgabenseite (28.09.2026 abends) */
.auf-kategorien{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.auf-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.auf-filter input[type=search]{width:280px}
.auf-filter select{width:auto}
.regel-tab td{vertical-align:top}
.regel-tab tr.aus td{color:var(--soft)}
.regel-tab .regel-an{white-space:nowrap}
.erledigen-mehr>summary{cursor:pointer;margin:2px 0 6px}
.erledigen-mehr-feld{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.kenn-zahlen{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:8px 0 10px}
.kenn-zahlen>div{border:1px solid var(--line);border-radius:var(--r);padding:8px 12px}
.kenn-zahlen b{display:block;font-size:20px;font-weight:600;line-height:1.15}
.kenn-zahlen span{font-size:12px;color:var(--soft)}
.regel-einst{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.regel-einst select,.regel-einst input[type=date]{width:auto}
.kat-chip{font-size:12.5px;border:1px solid var(--line-strong);border-radius:20px;padding:3px 11px;background:var(--surface);color:var(--soft);text-decoration:none}
.kat-chip b{color:var(--ink);font-weight:600;margin-left:3px}
.kat-chip b.rot{color:var(--alert)}
.kat-chip:hover{border-color:var(--ink)}
.kat-chip.an{background:#ECE7DF;color:var(--ink);border-color:var(--line-strong);font-weight:600}   /* Hausstil: gewählt = beige und fett, nie schwarz gefüllt (02.10.2026) */
.w-spalte,.tag-spalte,.tag-seite,.karte-a{text-align:left}   /* eine ältere Regel für „.ablage“ zentrierte den Text */
.w-spalte.ablage{margin-top:0;padding:8px;font-size:inherit;color:inherit;border-width:1px}

/* Von der Leitung priorisiert (28.09.2026): Rahmen in Akzentfarbe und „★ wichtig“, oben im Tag; kein Flächenton.
   Nicht der Balken links: der sagt schon „überfällig“ (rot) und „in Arbeit“ (petrol). */
.karte-a.wichtig{border-color:var(--accent)}
.ka-wichtig{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:2px}
.ka-leitung{display:flex;gap:2px;flex-wrap:wrap;margin-top:4px}
.ka-leitung form{margin:0}
.ka-leitung .knopf{font-size:12px;padding:2px 6px}
.wichtig-marke{color:var(--accent-deep)}
.einplanen-wichtig{display:block;margin:6px 0}
.team-ablage{margin-top:6px}
.team-ablage .karte-a{margin-top:6px}
.rb-textvorschau{max-width:692px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 22px;white-space:pre-wrap;font:13px/1.6 ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}
/* Festlegungen (28.09.2026, Fassung A): Kacheln je Kategorie, dann die Liste; Hervorhebung per Rahmen/Balken, kein Flächenton */
.fl-suche{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.fl-suche input[name=q]{width:280px;max-width:100%}
.fl-suche select{width:auto}
.fl-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px}
.fl-kachel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;color:var(--ink);text-decoration:none}
.fl-kachel:hover{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--accent)}
.fl-n{font-size:24px;font-weight:700;line-height:1.1}
.fl-name{font-weight:600;margin:2px 0 6px}
.fl-zuletzt{font-size:12.5px;color:var(--soft);border-top:1px solid var(--line);padding-top:6px}
.fl-titel{font-size:17px;margin:4px 0 10px}
.fl-titel .klein{font-weight:400}
.fl-liste{padding:4px 18px}
.fl-eintrag{border-bottom:1px solid var(--line);padding:12px 0;scroll-margin-top:20px}
.fl-eintrag:last-child{border-bottom:0}
.fl-eintrag:target{box-shadow:inset 3px 0 0 var(--accent);padding-left:10px}
.fl-kopf{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.fl-datum{font-weight:600;font-variant-numeric:tabular-nums;min-width:84px}
.fl-name-e{font-weight:600}
.fl-text,.fl-fuss,.fl-alt{margin-left:94px}
.fl-text{margin-top:4px;white-space:pre-wrap;color:#3A332E}
.fl-fuss{margin-top:4px;font-size:12.5px;color:var(--soft);display:flex;gap:12px;flex-wrap:wrap}
.fl-geaendert{color:var(--warn)}
.fl-alt{margin-top:6px;padding:6px 10px;border-left:2px solid var(--line-strong);background:var(--zebra);font-size:13px;color:var(--soft)}
.fl-alt s{color:var(--mute)}
.fl-warum{color:var(--soft)}
.fl-form{max-width:760px}
.fl-knoepfe{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
mark{background:#FCEFC7;color:inherit;padding:0 1px;border-radius:2px}
@media (max-width:700px){.fl-text,.fl-fuss,.fl-alt{margin-left:0}}
.zurueck-link{margin:0 0 8px;font-size:13px}.zurueck-link a{color:var(--soft)}
/* Kursstartliste fürs Steuerbüro (28.09.2026): fällig und nicht geschickt → roter Balken links wie „überfällig“ */
.sb-kachel.sb-offen{box-shadow:inset 3px 0 0 var(--alert)}
.sb-kachel h2 .klein{font-weight:400;margin-left:6px}
/* Kursmails (28.09.2026): fällig = roter Balken links wie „überfällig“; aus = blass; Sie/Du als kleine Schilder; kein Flächenton */
.km-tab td{vertical-align:top}
.km-tab tr.km-faellig td:first-child{box-shadow:inset 3px 0 0 var(--alert)}
.km-tab tr.km-aus td{color:var(--mute)}
.km-pille{display:inline-block;font-size:11px;font-weight:600;border:1px solid var(--line-strong);border-radius:10px;padding:0 6px;margin-left:4px;color:var(--soft);vertical-align:middle}
.km-pille.sie{border-color:var(--petrol);color:var(--petrol)}
.km-pille.du{border-color:var(--accent);color:var(--accent-deep)}
.km-titel{font-size:17px;margin:4px 0 12px}
.km-titel .klein{font-weight:400;margin-left:6px}
.km-person{border-bottom:1px solid var(--line);padding:6px 0}
.km-person summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;cursor:pointer}
.km-person.km-weg summary b{color:var(--soft)}
.km-vorschau{margin:8px 0 4px 24px}
.km-vorschau pre{white-space:pre-wrap;font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;background:var(--zebra);border-left:2px solid var(--line-strong);padding:10px 12px;margin:6px 0 0}
.klein.ok{color:var(--ok)}
.zl-mail pre{white-space:pre-wrap;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--zebra);border-left:2px solid var(--line-strong);padding:8px 10px;margin:4px 0 0;max-height:320px;overflow:auto}
/* ===== Seitenleiste nach Claudias Bild 3 (28.09.2026) · „etwas dicker“: Gewählt und Gruppennamen halbfett, sonst normal ===== */
nav.seite.nl{gap:1px;padding:16px 12px 12px;width:auto}
nav.seite.nl .marke{padding:0 8px 14px}
.nl-suche{position:relative;margin:0 2px 12px}
.nl-suche label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--zebra);cursor:text}
.nl-suche label:focus-within{border-color:var(--line-strong);background:#fff;box-shadow:0 0 0 3px rgba(40,35,32,.05)}
.nl-suche .nl-sym{width:14px;height:14px;stroke:var(--mute);stroke-width:1.8}
nav.seite.nl .nl-suche input{border:0;background:none;padding:0;margin:0;font:inherit;font-size:13px;flex:1;min-width:0;color:var(--ink);outline:none}
nav.seite.nl .nl-suche input::-webkit-search-cancel-button{display:none}
.nl-suche kbd{font:500 10.5px Inter,sans-serif;border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--soft);background:#fff}
.nl-treffer{position:absolute;left:0;top:calc(100% + 6px);width:340px;max-width:80vw;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(40,35,32,.05),0 16px 40px rgba(40,35,32,.14);z-index:50;padding:4px 0;max-height:70vh;overflow:auto}
.nl-tgr{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:600;padding:9px 14px 3px}
nav.seite.nl .nl-treffer a{display:flex;gap:10px;align-items:baseline;padding:7px 14px;border:0;border-radius:0;font-size:13.5px;justify-content:flex-start}
nav.seite.nl .nl-treffer a b{font-weight:600;white-space:nowrap}
nav.seite.nl .nl-treffer a small{color:var(--soft);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
nav.seite.nl .nl-treffer a.an,nav.seite.nl .nl-treffer a:hover{background:var(--paper);box-shadow:inset 2px 0 0 var(--accent)}
.nl-leer{padding:10px 14px;color:var(--soft);font-size:13px}
.nl-sym{width:16px;height:16px;flex:none;stroke:#5E564F;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
nav.seite.nl a.nl-z,nav.seite.nl .nl-z{display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:6px 10px;border-radius:7px;border:0;font-size:14px;font-weight:400;color:var(--ink);text-decoration:none}
nav.seite.nl a.nl-z:hover{background:var(--paper)}
nav.seite.nl a.nl-z.an{background:var(--paper);font-weight:600}
nav.seite.nl a.nl-z.an .nl-sym{stroke:var(--ink)}
.nl-zahl{margin-left:auto;background:var(--alert);color:#fff;border-radius:9px;font-size:10.5px;font-weight:600;min-width:18px;text-align:center;padding:0 5px;line-height:17px}
.nl-gruppe > summary{list-style:none;cursor:pointer}
.nl-gruppe > summary::-webkit-details-marker{display:none}
.nl-aufgaben > summary,.nl-verwaltung > summary{display:flex;align-items:center;gap:2px}
.nl-aufgaben > summary > a{flex:1}
.nl-verwaltung > summary > .nl-z{flex:1}
.nl-pfeil{width:24px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--mute);cursor:pointer}
.nl-pfeil::before{content:"›";font-size:15px;transition:transform .15s}
.nl-gruppe[open] > summary .nl-pfeil::before{transform:rotate(90deg)}
.nl-pfeil:hover{background:var(--paper);color:var(--ink)}
.nl-unter{display:flex;flex-direction:column;gap:1px;padding:2px 0 6px 37px}
nav.seite.nl .nl-unter a{display:flex;justify-content:space-between;padding:4px 10px;border:0;border-radius:6px;font-size:13.5px;font-weight:400;color:var(--soft)}
nav.seite.nl .nl-unter a:hover{background:var(--paper);color:var(--ink)}
nav.seite.nl .nl-unter a.an{color:var(--ink);background:var(--paper);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}
nav.seite.nl .nl-unter small{color:var(--mute);font-size:11.5px}
nav.seite.nl .nl-unter small.rot{color:var(--alert);font-weight:600}
.nl-trenn{border-top:1px solid var(--line);margin:12px 6px 10px}
.nl-kopf{display:flex;align-items:center;justify-content:space-between;padding:0 10px 4px;font-size:10.5px;letter-spacing:.1em;font-weight:600;color:var(--mute);text-transform:uppercase}
nav.seite.nl a.nl-plus{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:400;color:var(--soft);letter-spacing:0}
nav.seite.nl a.nl-plus:hover,nav.seite.nl a.nl-plus.an{border-color:var(--line-strong);color:var(--ink);background:var(--paper)}
nav.seite.nl .nl-gruppe.seite-gruppe{display:block;gap:0}
nav.seite.nl .nl-gruppe.seite-gruppe > summary{display:flex;align-items:baseline;gap:6px;padding:8px 10px 3px;font-size:13px;font-weight:600;color:#4A433D;letter-spacing:0;text-transform:none;border-radius:6px}
nav.seite.nl .nl-gruppe.seite-gruppe > summary::before{content:"›";width:10px;font-size:13px;color:var(--mute);font-weight:400;transition:transform .15s;display:inline-block}
nav.seite.nl .nl-gruppe.seite-gruppe[open] > summary::before{transform:rotate(90deg)}
nav.seite.nl .nl-gruppe.seite-gruppe > summary span{flex:0 0 auto}
nav.seite.nl .nl-gruppe.seite-gruppe > summary small{font-weight:400;color:var(--mute);font-size:11px;opacity:1}
nav.seite.nl .nl-gruppe.seite-gruppe > summary em{margin-left:auto;font-style:normal;font-weight:400;color:var(--mute);font-size:12px;opacity:0;transition:opacity .15s}
nav.seite.nl .nl-gruppe.seite-gruppe:not([open]) > summary em{opacity:1}
nav.seite.nl .nl-gruppe.seite-gruppe > summary:hover{color:var(--ink)}
nav.seite.nl a.nl-kurs,nav.seite.nl a.nl-fn{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:4px 10px 4px 26px;border:0;border-radius:6px;font-size:13.5px;font-weight:400;color:var(--ink)}
nav.seite.nl a.nl-fn{color:var(--soft)}
nav.seite.nl a.nl-kurs:hover,nav.seite.nl a.nl-fn:hover{background:var(--paper);color:var(--ink)}
nav.seite.nl a.nl-kurs.an,nav.seite.nl a.nl-fn.an{background:var(--paper);font-weight:600;color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}
.nl-punkt{width:6px;height:6px;border-radius:50%;flex:none}
.nl-punkt.inst{background:var(--accent)}.nl-punkt.akad{background:var(--petrol)}
nav.seite.nl a.nl-kurs small,nav.seite.nl a.nl-fn small{margin-left:auto;color:var(--mute);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}
nav.seite.nl a.nl-kurs small.rot{color:var(--alert);font-weight:600}
nav.seite.nl a.nl-kurs small.dunkel{color:var(--ink);font-weight:600}
.nl-fuss{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
nav.seite.nl .unten{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 0;margin:0;font-size:12px;color:var(--mute)}
nav.seite.nl .nl-gruppe.seite-gruppe > summary{min-width:0}
nav.seite.nl .nl-gruppe.seite-gruppe > summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
nav.seite.nl .unten span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:8px}
@media (max-width:1000px){nav.seite.nl .nl-gruppe.seite-gruppe > summary small,.nl-suche kbd{display:none}}

/* Office-Mappe (P5, 29.09.2026) */
.om-zwei{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media (max-width:900px){.om-zwei{grid-template-columns:1fr}}
.om-liste td{vertical-align:middle}
.om-hoch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.om-einlesungen{list-style:none;margin:10px 0 0;border-top:1px solid var(--line)}
.om-einlesungen li{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.om-zahlen{display:flex;gap:22px;flex-wrap:wrap;margin:10px 0 4px;font-size:13px;color:var(--soft)}
.om-zahlen b{display:block;font-size:19px;color:var(--ink)}
.om-unklar-zahl b{color:var(--warn)}
.om-hinweise{margin:8px 0 0 18px;font-size:13px}
.om-block{margin-top:12px}
.om-block h2{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.om-unklar{box-shadow:inset 3px 0 0 var(--warn)}
.om-stand{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:10px;border:1px solid var(--line-strong);color:var(--soft)}
.om-stand.om-neu{border-color:var(--petrol);color:var(--petrol)}
.om-stand.om-unklar{border-color:var(--warn);color:var(--warn)}
.om-a{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:13.5px}
.om-a input{margin-top:3px}
.om-a-unklar>span:first-of-type{color:var(--ink)}
.om-a-unklar{color:var(--warn)}
.om-kein{width:13px;text-align:center;color:var(--mute)}
.om-zuordnung{display:flex;flex-direction:column;gap:4px;padding:8px 12px;margin:4px 0 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--zebra);font-size:13.5px}
.om-zuordnung .knopf{align-self:flex-start;margin-top:4px}
.om-gleich{margin-top:12px}
.om-fuss{margin-top:16px;position:sticky;bottom:0;background:var(--paper);padding:10px 0}
.om-alt{margin:10px 0 0;padding:8px 12px;border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--warn);border-radius:var(--r);background:var(--surface);font-size:13.5px}
.om-offen{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:10px 0 0;padding:8px 12px;border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--petrol);border-radius:var(--r);font-size:13.5px}
.om-offen-knoepfe{display:flex;gap:6px;align-items:center}
.om-ohne-wahl{margin-left:auto;font-size:12.5px;font-weight:400;color:var(--soft);display:flex;gap:5px;align-items:center}
.om-ohne .om-a,.om-ohne .om-zuordnung{opacity:.35;pointer-events:none}
.om-ohne .om-stand{text-decoration:line-through}

/* Einreichungszeitraum Kursabschluss: zwei Datumsfelder nebeneinander, beschriftet (29.09.2026) */
.zeitraum-felder{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}
.zeitraum-felder .feld{width:100%;min-width:0}
.zeitraum-felder + .klein{margin-top:4px}
table.felder tr:has(.zeitraum-felder) > th{vertical-align:top;padding-top:12px}

/* Monatsabschluss (29.09.2026, Entwurf 1 + Schrittleiste aus Entwurf 2 für die Leitung) */
.mab-monate{margin:-6px 0 12px}
.mab-termine{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.mab-termin{display:flex;gap:8px;align-items:baseline;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px}
.mab-termin b{font-variant-numeric:tabular-nums}.mab-termin.vorbei{opacity:.5}.mab-termin.naechst{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.mab-termin.leitung{border-style:dashed}
.mab-zwei{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1000px){.mab-zwei{grid-template-columns:1fr}}
.mab-gruppe{margin:14px 0 4px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--soft);font-weight:600}
.mab-punkt{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--line)}
.mab-punkt input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none}
.mab-punkt small{display:block;color:var(--soft);font-size:12.5px}
.mab-punkt.offen > span{font-weight:600}
.mab-text{width:100%;min-height:74px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;font:inherit;background:#fff}
.mab-fuss{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
.mab-schritt{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.mab-schritt form{margin:0}
.mab-kreis{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none;background:#fff;padding:0;cursor:pointer;color:inherit}
span.mab-kreis{cursor:default}
.mab-kreis.gruen{background:var(--ok);border-color:var(--ok);color:#fff}.mab-kreis.gelb{border-color:var(--warn)}
.mab-schritt small{display:block;color:var(--soft);font-size:12.5px}
.mab-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mab-step{padding:12px 14px;border-left:1px solid var(--line)}.mab-step:first-child{border-left:0}
.mab-step b{display:block;font-size:14px}.mab-step small{display:block;color:var(--soft);font-size:12.5px}
.mab-step.erledigt{box-shadow:inset 0 3px 0 var(--ok)}.mab-step.jetzt{box-shadow:inset 0 3px 0 var(--accent)}
.mab-step.leitung{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(0,0,0,.018) 8px 16px)}
@media (max-width:900px){.mab-stepper{grid-template-columns:1fr !important}.mab-step{border-left:0;border-top:1px solid var(--line)}.mab-step:first-child{border-top:0}}
.mab-fehlt{color:var(--alert);font-weight:600}
.mab-pflege-tab{width:100%;white-space:normal}.mab-pflege-tab td{vertical-align:middle}
.mab-pflege-tab input[name=text],.mab-pflege-tab input[name=unter]{width:100%;min-width:140px}

/* Verwaltung › Anerkennungen (30.09.2026, Entwurf B): Übersicht je Kurs, Reiter je Thema mit Kasten, Stellen */
.an-zahlen{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.an-zahl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;min-width:150px}
.an-zahl b{display:block;font-size:22px;line-height:1.1}.an-zahl span{font-size:12.5px;color:var(--soft)}
.an-zahl.rot{box-shadow:inset 3px 0 0 var(--alert)}.an-zahl.rot b{color:var(--alert)}.an-zahl.gelb{box-shadow:inset 3px 0 0 var(--warn)}
.an-matrix-rahmen{overflow-x:auto}
.an-matrix{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-size:13px;width:100%}
.an-matrix th{font-weight:500;color:var(--soft);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line-strong);background:var(--paper);text-align:left;vertical-align:bottom}
.an-matrix th small{display:block;font-weight:400}
.an-matrix td{border-top:1px solid var(--line);border-left:1px solid var(--line);padding:0;vertical-align:top}
.an-matrix td.k{border-left:0;font-weight:600;white-space:nowrap;padding:8px 10px}
.an-matrix td.k small{display:block;font-weight:400;color:var(--soft);white-space:normal;max-width:260px}
.an-zelle{display:block;padding:8px 10px;text-decoration:none;min-height:100%}.an-zelle:hover{background:var(--zebra)}
.an-zelle .z{font-size:12px;color:var(--soft);display:block;margin-top:2px}
.an-leer{padding:8px 10px!important;color:var(--mute)}.an-leer a{text-decoration:none;color:var(--mute)}
.an-legende{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--soft);margin:8px 0 0}
.an-chip{display:inline-block;border:1px solid var(--line-strong);border-radius:999px;padding:0 8px;font-size:12px;font-weight:500;vertical-align:middle;white-space:nowrap}
.an-chip.an-abis{border-color:var(--ink)}
.an-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:14px;align-items:start}
.an-karte h2{font-size:15px;margin:0 0 2px}
.an-karte.an-offen{box-shadow:inset 3px 0 0 var(--accent)}
.an-dl{display:grid;grid-template-columns:100px 1fr;gap:5px 10px;font-size:13px;margin:12px 0 0}
.an-dl dt{color:var(--soft)}.an-dl dd{margin:0}.an-dl .leer,.an-karte .leer{color:var(--mute)}
.an-h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin:14px 0 6px;font-weight:600}
.an-kontakt{border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;font-size:13px;line-height:1.55}.an-kontakt b{display:block}
.an-wv{box-shadow:inset 3px 0 0 var(--warn);border:1px solid var(--line);border-radius:var(--r);padding:7px 12px;font-size:13px;margin:10px 0 0}
.an-verlauf{list-style:none;padding:0;margin:0;font-size:13px}
.an-verlauf li{padding:6px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:78px 1fr;gap:8px}.an-verlauf li>span{color:var(--soft);font-size:12px}
/* Behörden › Bildungsurlaub nach Bundesländern (Claudia 01.10.2026): Kacheln je Land, „Zu tun“, je Land ein Block, Kasten erst bei Klick */
.an-laender{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0 0 14px}
.an-land-kachel{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--ink);font-size:13px;padding:12px 14px}
.an-land-kachel:hover{border-color:var(--line-strong)}.an-land-kachel b{font-size:14.5px;margin-bottom:3px}
.an-land-kachel .ampel.rot{font-weight:400}.an-auf-zahl{font-weight:600;margin-top:2px}
.an-zutun{margin:0 0 14px;box-shadow:inset 3px 0 0 var(--warn)}.an-zutun h2{font-size:15px;margin:0 0 6px}
.an-zutun ul{list-style:none;margin:0;padding:0;font-size:13px}.an-zutun li{padding:3px 0}.an-zutun a{color:var(--ink);text-decoration:none}.an-zutun a:hover{text-decoration:underline}.an-zutun li span{color:var(--soft)}
.an-land{margin:0 0 14px;padding:0;overflow:hidden}.an-land>h2{font-size:15px;margin:0;padding:12px 16px 2px}
.an-hinweis{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--soft);font-size:12.5px;padding:0 16px 10px}
.an-hinweis summary{color:var(--mute)}.an-hinweis form{margin:6px 0 0}
.an-liste{width:100%;border-collapse:collapse}
.an-liste th{font-size:12px;font-weight:600;color:var(--soft);text-align:left;padding:7px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong)}
.an-liste td{padding:8px 16px;border-top:1px solid var(--line);font-size:13.5px;vertical-align:top}
.an-liste tbody:first-of-type td{border-top:0}
.an-zeile{cursor:pointer}.an-zeile:hover td{background:#F3EFE9}
.an-liste tr.an-detail>td{padding:0 16px 14px;background:var(--zebra);box-shadow:inset 3px 0 0 var(--ink)}
.an-land .an-karte{border:0;background:none;padding:12px 0 0;box-shadow:none}
.an-rest{padding:9px 16px;margin:0;border-top:1px solid var(--line)}.an-rest a{color:var(--soft)}
div.an-detail{padding:0 16px 14px;background:var(--zebra);box-shadow:inset 3px 0 0 var(--ink);border-top:1px solid var(--line)}
.an-lang summary{cursor:pointer}.an-lang p{margin:4px 0 0;white-space:pre-line}
.an-knoepfe{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:flex-start}
.an-mehr>summary{list-style:none;cursor:pointer}.an-mehr>summary::-webkit-details-marker{display:none}
.an-mehr[open]{flex-basis:100%}
.an-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;margin-top:10px;font-size:12.5px;color:var(--soft)}
.an-form label{display:flex;flex-direction:column;gap:3px}.an-form .breit{grid-column:1/-1}
.an-form .feld{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}
.an-neu>summary{list-style:none;display:inline-flex;cursor:pointer}.an-neu>summary::-webkit-details-marker{display:none}
.an-neu:not([open]){background:none;border:0;padding:0;margin-bottom:14px}.an-neu[open]{margin-bottom:16px}
.an-foerdert{font-size:15px;margin:8px 0 0}.an-foerdert .ampel.rot{font-weight:600}

/* Merkzettel unter Aufgaben (30.09.2026), nach versionen/vorschau-merkzettel/gewaehlt-a.png */
.mz-intro{margin:-6px 0 14px}
.mz-a3{display:grid;grid-template-columns:210px 360px minmax(0,1fr);gap:16px;align-items:start}
.mz-kopfzeile{margin:0 10px 4px}.mz-abstand{margin-top:18px}
.mz-themen a{display:flex;justify-content:space-between;gap:6px;padding:7px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13.5px;border:1px solid transparent}
.mz-themen a small{color:var(--soft);margin-left:auto}
.mz-themen a:hover{background:var(--surface)}
.mz-themen a.an{background:var(--surface);font-weight:600;box-shadow:inset 3px 0 0 var(--ink);border-color:var(--line)}
.mz-themen a.mz-ein{display:block;margin-top:10px;font-size:12.5px;color:var(--soft)}
.mz-thema-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 4px}.mz-thema-kopf b{font-size:15px}
.mz-thema-kopf.mz-zweite{margin-bottom:10px}
.mz-liste{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.mz-neu{padding:10px 14px;border-bottom:1px solid var(--line);background:var(--paper);margin:0}
.mz-neu input{width:100%;box-sizing:border-box}
.mz-g{display:block;padding:10px 14px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.mz-neu + .mz-g,.mz-liste > .mz-g:first-child{border-top:0}
.mz-g:hover{background:var(--zebra)}
.mz-g b{display:block;font-size:13.5px;font-weight:600;margin-bottom:2px}
.mz-g.an{box-shadow:inset 3px 0 0 var(--ink);background:#FBFAF8}
.mz-anriss{display:block;font-size:12.5px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mz-meta{display:block;font-size:12px;color:var(--soft);margin-top:4px}
.mz-leer{padding:12px 14px;margin:0}.mz-unten{margin:8px 2px 0}
.mz-offen h2{font-size:18px;margin:2px 0 4px}.mz-offen > .mz-meta:first-child{margin-top:0}
.mz-notiz{font-size:13.5px;line-height:1.5;margin:12px 0 0;white-space:pre-line}
.mz-nachtrag{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}
.mz-nachtrag ul{padding:0;margin:4px 0 0;list-style:none}
.mz-nachtrag li{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:13px;padding:5px 0}
.mz-nachtrag li span{color:var(--soft);font-size:12px}
.mz-nachtrag input{width:100%;box-sizing:border-box;margin-top:6px}
.mz-knoepfe{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start;margin-top:12px}
.mz-knoepfe form{margin:0}
.mz-klapp[open] > summary{margin-bottom:6px}
.mz-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0}
.mz-form input[name=name]{flex:1 1 140px}.mz-form input[name=zusatz]{flex:1 1 160px}
.mz-bearbeiten input,.mz-bearbeiten textarea{width:100%;box-sizing:border-box;margin-top:8px}
.mz-teilen{margin-top:14px;max-width:420px}.mz-haken{display:block;font-size:13px;margin:4px 0}
.mz-einstellen .mz-e-zeile{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}
.mz-einstellen .mz-e-zeile .mz-form{flex:1 1 300px;margin:0}.mz-einstellen .mz-e-zeile > form{margin:0}
.mz-h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin:16px 0 4px;font-weight:600}
@media (max-width:1100px){.mz-a3{grid-template-columns:190px minmax(0,1fr)}.mz-rechts{grid-column:1 / -1}}
@media (max-width:700px){.mz-a3{grid-template-columns:minmax(0,1fr)}}
.mz-einstellen .mz-e-zeile .mz-form input{min-width:0}.mz-einstellen .mz-e-zeile .mz-form input[name=name]{flex:1 1 100px}.mz-einstellen .mz-e-zeile .mz-form input[name=zusatz]{flex:1 1 110px}

/* Debitoren-Nummernkreise je Kurs (30.09.2026), nur Leitung: Karte im Monatsabschluss und eigene Seite */
.mab-rechts{display:flex;flex-direction:column;gap:14px;min-width:0}
.deb-kurz{width:100%;border-collapse:collapse;font-size:13px}.deb-kurz td{padding:5px 0;border-top:1px solid var(--line)}
.deb-zahl{font-variant-numeric:tabular-nums;white-space:nowrap}.deb-kurz td.deb-zahl{text-align:right}
.deb-naechst{margin:10px 0 6px;font-size:13px}.deb-naechst b{font-variant-numeric:tabular-nums}
.deb-ohne{margin:0 0 10px}
.deb-seite{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start}
.deb-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin:4px 0 8px}.deb-form label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--soft)}
.deb-form input.deb-zahl{width:110px}
.deb-h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin:16px 0 4px;font-weight:600}
.deb-ohne-zeile{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line);margin:0}
.deb-tab td.rechts{text-align:right}
@media (max-width:900px){.deb-seite{grid-template-columns:minmax(0,1fr)}}

/* Debitoren-Nummernkreis auf der Rechnungsseite (30.09.2026): Zeile oben, Vorschläge grau-kursiv, bis sie gespeichert sind */
.deb-zeile{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 14px;margin:0 0 14px;font-size:13.5px}
.deb-zeile form{margin:0}
.deb-vorschlag{color:var(--soft);font-style:italic;font-weight:400}
.deb-tn{margin-top:1px}
.deb-vorschlag-feld{color:var(--soft);font-style:italic;background:var(--zebra)}
.deb-warnung{flex-basis:100%;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--alert);border-radius:var(--r);padding:8px 12px;font-size:13px}
.deb-warnung b{color:var(--alert)}
.lex-rueck .deb-warnung{grid-column:1 / -1}

/* OT: Stufe und Zahlungsmodell als Tabelle wie Vertragsanlage A (30.09.2026) */
.ot-wahl{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 14px;background:var(--surface)}
.ot-wahl .ot-kopf{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.ot-wahl .fuell{flex:1}
.ot-tarif .wahl input,.ot-feld input{position:absolute;opacity:0;width:1px;height:1px;margin:0;overflow:hidden}
.ot-tarif .wahl{cursor:pointer}
.ot-tab{width:100%;border-collapse:collapse;font-size:13px}
.ot-tab th{text-align:left;font-weight:600;padding:7px 9px;border-bottom:1px solid var(--line-strong);background:var(--paper);vertical-align:bottom}
.ot-tab th small{display:block;font-weight:400;color:var(--soft)}
.ot-tab td{padding:0;border-top:1px solid var(--line);vertical-align:top}.ot-tab td:first-child{padding:8px 9px}
.ot-feld label{display:block;padding:8px 9px;cursor:pointer;position:relative;min-height:100%}
.ot-feld label:hover{background:var(--zebra)}
.ot-feld:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink);background:#FBFAF8}
.ot-z{display:block;line-height:1.5}
.ot-wahl[data-tarif="regulär"] .ot-nur[data-tarif="Frühbucher"],.ot-wahl[data-tarif="Frühbucher"] .ot-nur[data-tarif="regulär"]{display:none}
.ot-fuss{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.ot-klapp{margin-top:12px}.ot-klapp[open] > summary{margin-bottom:10px}.ot-klapp .ot-wahl{margin:0}
.ot-nachzahlung{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);box-shadow:inset 3px 0 0 var(--warn);font-size:13px}
.rabatt-feld{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rabatt-feld input[name=rabatt]{flex:1 1 180px}

/* Hinweis ans LT-Team (30.09.2026): Karte in der Akte (Entwurf A), Liste je Kurs (Entwurf C) */
.lth-karte{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:12px 14px;margin:0 0 14px}
.lth-karte h4{font-size:13.5px;margin:0 0 8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lth-text{font-size:14px;line-height:1.5;padding:9px 12px;background:var(--paper);border-radius:var(--r)}
.lth-marke{font-size:11.5px;border-radius:999px;padding:1px 9px;border:1px solid var(--line-strong);color:var(--soft);font-weight:400;white-space:nowrap}
.lth-marke.frei{border-color:#A8CDB8;color:var(--ok)}.lth-marke.warte{border-color:#E3C98B;color:var(--warn)}
.lth-fuss{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.lth-fuss .fuell{flex:1}
.lth-form textarea{width:100%;box-sizing:border-box}.lth-knoepfe{display:flex;gap:6px;margin-top:6px}
.lth-inline{display:inline-flex;margin:0 0 0 6px}
.lth-klapp[open]{flex-basis:100%}.lth-klapp[open] > summary{margin-bottom:6px}
.lth-intro{margin:0 0 12px;max-width:900px}
.lth-tab{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--surface);border:1px solid var(--line)}
.lth-tab th{text-align:left;padding:8px 10px;background:var(--paper);border-bottom:1px solid var(--line-strong);font-weight:600}
.lth-tab td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}
.aeq-klaeren{color:var(--warn);font-weight:600;text-decoration:none;white-space:nowrap}.aeq-klaeren:hover{text-decoration:underline}
.marke-warn{color:var(--warn);border-color:#E3C98B}

/* Aufklärungs-Mail „kein SG-Weiterbildungsnachweis“ (30.09.2026) */
.aufkl{max-width:860px}.aufkl h2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aufkl-fall{font-size:11.5px;font-weight:400;border:1px solid #E3C98B;color:var(--warn);border-radius:999px;padding:1px 9px}
.aufkl-schon{font-size:13px;padding:8px 12px;border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--ok);border-radius:var(--r);margin:0 0 12px}
.aufkl-text{white-space:pre-wrap;font-family:inherit;font-size:14px;line-height:1.55;background:var(--paper);border-radius:var(--r);padding:14px 16px;margin:12px 0}
.aufkl-knoepfe{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aufkl-link{margin-top:2px}.aufkl-link a{white-space:nowrap}

/* Papiere ▾ oben in der Akte (30.09.2026, Entwurf A): alle Papiere einer Person an einer Stelle */
.papiere-menue{position:relative}
.papiere-menue>summary{list-style:none;cursor:pointer}.papiere-menue>summary::-webkit-details-marker{display:none}
.papiere-liste{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 24px rgba(40,35,32,.12);padding:8px}
.papiere-kurs{font-weight:600;font-size:13px;padding:8px 8px 2px;border-top:1px solid var(--line);margin-top:6px}.papiere-kurs:first-child{border-top:0;margin-top:0}
.papiere-gruppe{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);padding:8px 8px 4px}
.papier{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:6px 8px;border-radius:6px;color:inherit;text-decoration:none}
.papier:hover{background:var(--paper)}
@media (max-width:700px){.akte-aktionen{position:relative}.papiere-menue{position:static}.papiere-liste{left:0;right:0;width:auto;max-width:none}}   /* Telefon: Knöpfe stehen links, Liste über die ganze Breite */
.papier-name{font-weight:500}.papier-fuer{font-size:12px;color:var(--soft);grid-column:1}.papier-zuletzt{font-size:12px;color:var(--soft);grid-column:2;grid-row:1/3;align-self:center;text-align:right}

/* Rechnungsliste nach Zahlungsmodell gruppiert (30.09.2026, Entwurf B) */
.rechnung-raster tr.rechnung-gruppe td{background:var(--paper);color:var(--soft);font-size:12px;font-weight:600;padding-top:6px;padding-bottom:6px}
.rechnung-stufe{color:var(--soft)}
.rechnung-modell{font-size:14px;font-weight:400;color:var(--ink);margin-top:2px}
/* „Aus lexoffice zurück“: Felder brechen um, statt dass sich die Beschriftungen überlappen (30.09.2026) */
.lex-rueck{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.lex-rueck > span{grid-column:1 / -1;align-self:start}
.lex-rueck label{min-width:0}
.lex-rueck > button{align-self:end;justify-self:start}
/* Rechnungen Entwurf A (30.09.2026): eine Zeile je Person, Fehlendes einmal oben, Schritte 1 und 2 */
.rechnung-liste td{padding-top:7px;padding-bottom:7px;vertical-align:middle}
.rechnung-liste .rechnung-stufe{margin-left:8px}
.rechnung-liste td.rechts{width:28px}
.rechnung-fehlt{border-left:4px solid var(--alert);border-radius:0;padding:8px 12px;margin:10px 0 4px;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.rechnung-fehlt b{color:var(--alert)}
.rechnung-schritt{font-size:13px;font-weight:600;color:var(--soft);margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.rechnung-schritt .nr{width:20px;height:20px;border-radius:50%;border:1px solid var(--ink);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.rechnungsblatt .kopfzeile h2{flex:1;min-width:0}
.rechnungsblatt .kopfzeile .fuell{display:none}

/* Dokumente an Akte und Fall (Teil 5, 30.09.2026: Entwurf B im Verlauf, dazu Reiter „Dokumente“ aus A) */
.dok-form{display:grid;gap:8px;margin-top:10px}.dok-form .zwei{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.dok-zone{position:relative;display:grid;gap:3px;justify-items:center;border:1.5px dashed var(--line-strong);border-radius:8px;padding:16px;text-align:center;color:var(--soft);font-size:13px;background:var(--paper);cursor:pointer}
.dok-zone b{color:var(--ink)}.dok-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.dok-zone .dok-name{font-weight:600;color:var(--ink)}.dok-zone:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.dok-haken{display:flex;gap:12px;flex-wrap:wrap}
.zl-dok{display:inline-block;margin-top:4px;border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:12px;background:#fff;color:inherit;text-decoration:none}
.zl-dok:hover{background:var(--paper)}
.dok-tab{width:100%;border-collapse:collapse;font-size:13px}.dok-tab th{text-align:left;font-size:11.5px;color:var(--soft);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
.dok-tab td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.dok-tab form.inline{display:inline}
.dok-neu{margin-top:12px}
/* Praxisseminar-Einteilung (30.09.2026, Entwurf A) */
.px-leiste{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.px-leiste .fuell{flex:1}
.px-jetag{display:flex;align-items:center;gap:6px}
.px-tab th.mitte,.px-tab td.mitte{text-align:center}
.px-tab th.px-vorbei{color:var(--mute)}
.px-tab tfoot td{font-size:12px;color:var(--soft);font-weight:600;background:var(--paper)}
.px-zelle{border:0;background:none;font:inherit;width:100%;min-height:26px;cursor:pointer;color:var(--ink)}
.px-zelle:hover{background:var(--zebra)}
.px-hand{color:var(--accent)}
.px-weg{color:var(--mute)}
.px-unter{color:var(--warn);font-weight:600}
.px-zuviel{color:var(--alert)!important}
.px-zurueck{border:0;background:none;cursor:pointer;color:var(--soft)}
.px-texte{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:18px}
.px-texte h3{font-size:14px;display:flex;align-items:center;gap:8px}
.px-text{white-space:pre-wrap;font:inherit;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px;margin:0}
.px-neu{border-left:4px solid var(--alert);border-radius:0;padding:8px 12px;margin:8px 0;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.px-mail{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px 14px;margin:14px 0}
.px-mail summary{cursor:pointer;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.px-mailform{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.px-mailform label{display:flex;flex-direction:column;gap:4px}

/* ABIS App (01.10.2026): Seminartag, den eine Lehrtrainer:in eingetragen hat, mit Haken „geprüft“ des Büros (Kopf der Anwesenheitsmatrix) */
.matrix .lt-tag { margin-top: 3px; font-weight: 400; }
.matrix .lt-haken { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; color: var(--soft); cursor: pointer; }
.matrix .lt-haken input { margin: 0; width: 12px; height: 12px; }
.nachbereitung-stand { margin-top: 3px; }
/* Kurs › Termine: Stand der LT als eine Marke je Seminar, Punkte und Abschluss erst aufgeklappt (Claudia 01.10.2026, Idee B, Fassung 3) */
.blatt.je-seminar tbody tr:nth-child(even) td { background: var(--surface); }
.blatt.je-seminar tbody.s:nth-of-type(even) td { background: var(--zebra); }
.blatt.je-seminar tbody tr:hover td { background: #F3EFE9; }
.blatt.je-seminar tbody tr.vn-offen:hover td, .blatt.je-seminar tbody.s:nth-of-type(odd) tr.vn-offen td { background: var(--surface); }
.blatt.je-seminar tbody.s:nth-of-type(even) tr.vn-offen td, .blatt.je-seminar tbody.s:nth-of-type(even) tr.vn-offen:hover td { background: var(--zebra); }
.vn-marke { display: inline-block; font-size: 11.5px; line-height: 1.5; padding: 1px 8px; border-radius: 9px; border: 1px solid var(--line-strong); color: var(--soft); white-space: nowrap; background: var(--surface); text-decoration: none; }
.vn-marke:hover { border-color: var(--ink); }
.vn-marke.fertig { border-color: var(--ok); color: var(--ok); }
.vn-marke.fehlt { border-color: var(--warn); color: var(--warn); }
.vn-marke.zu { border-color: transparent; background: none; color: var(--ok); font-weight: 600; padding-left: 0; padding-right: 0; }
.blatt tr.vn-offen > td { padding: 10px 12px 12px; overflow: visible; }
.blatt tr.vn-offen > td + td { border-left: 2px solid var(--line-strong); }
.vn-punkte { display: grid; grid-template-columns: 1fr 1.25fr; gap: 6px 30px; color: var(--ink); font-size: 13px; }
.vn-punkte .ok, .vn-zu { color: var(--ok); }
.vn-punkte .off { color: var(--warn); }
.vn-haken { display: contents; }
.vn-haken button.h { font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.vn-haken button.h:hover { color: var(--ink); }
.vn-punkte .frei { color: var(--mute); }
.vn-punkte h4 { font-size: 12px; font-weight: 600; margin: 0 0 4px; }
.vn-punkte ul { list-style: none; margin: 0; padding: 0; }
.vn-punkte li { display: flex; gap: 8px; align-items: baseline; line-height: 1.55; }
.vn-punkte .h { width: 14px; flex: none; text-align: center; font-weight: 600; }
.vn-punkte .am { margin-left: auto; padding-left: 10px; color: var(--soft); font-size: 12px; white-space: nowrap; }
.vn-fuss { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 10px 0 0; font-size: 12.5px; color: var(--soft); }
.vn-zu { font-weight: 600; }
.kursinfo .kursbild-link { color: inherit; }
.nl-zahl.nl-zahl-werkstatt { background: var(--line); color: var(--ink); }

/* Behörden › Startseite (Claudia 01.10.2026, Idee A): „Zu tun“ und drei Türen in die Listen */
.an-start-tun{margin:14px 0 0;padding:0;overflow:hidden}.an-start-tun>h2{font-size:15px;margin:0;padding:12px 16px 10px;display:flex;justify-content:space-between;align-items:baseline}
.an-start-tun>p{padding:0 16px 14px;margin:0}.an-start-tun table.blatt{border:0;border-top:1px solid var(--line);border-radius:0}
.an-start-tun td{vertical-align:top}.an-start-tun td:first-child{padding-left:16px;white-space:normal;overflow:visible;text-overflow:clip}.an-start-tun td:first-child a{white-space:normal}.an-start-tun td:last-child{padding-right:16px}.an-start-tun .ampel{white-space:normal;align-items:flex-start}.an-start-tun .ampel i{margin-top:5px}.an-start-tun td.klein{white-space:nowrap}.an-start-tun a.name{text-decoration:none}.an-start-tun .ampel.rot{font-weight:400}
.an-tueren{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:12px;align-items:stretch}
.an-tuer{display:block;text-decoration:none;color:var(--ink);padding:14px 16px}.an-tuer:hover{border-color:var(--line-strong)}
.an-tuer h2{font-size:15px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline}.an-tuer h2 span{font-size:13px;font-weight:400;color:var(--accent)}
.an-tuer-zeile{display:flex;gap:10px;font-size:13px;line-height:1.75}.an-tuer-zeile b{flex:0 0 112px}.an-tuer-zeile>span{display:flex;flex-wrap:wrap;gap:0 14px}
.an-tuer .ampel.rot{font-weight:400}
@media (max-width:900px){.an-tueren{grid-template-columns:1fr}}

/* Behörden › Stellen: Musterschreiben für den Antrag */
.an-vorlage pre{white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.5;margin:10px 0 0;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:6px;max-width:760px}

/* Behörden: Unterlagen an der Anerkennung (wie der Verlauf gesetzt) */
.an-unterlagen{list-style:none;padding:0;margin:0;font-size:13px}
.an-unterlagen li{padding:6px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:78px 1fr;gap:8px}.an-unterlagen li>span{color:var(--soft);font-size:12px}

/* Behörden › Stellen: „So geht es“ und Formulare je Behörde (Claudia 02.10.2026) */
.an-anleitung{white-space:pre-wrap;font-size:13.5px;line-height:1.55;max-width:820px}
.an-allgemein{margin:0 0 14px;box-shadow:inset 3px 0 0 var(--accent)}.an-allgemein h2{font-size:15px;margin:0 0 8px}
/* Behörden › Vorlagen und der Mailtext zur Aufgabe (Claudia 02.10.2026, „ja b und c“) */
.an-vorlagen{margin:0 0 14px}.an-vorlagen h2{font-size:15px;margin:0 0 8px}.an-vorlagen table.blatt td{vertical-align:top;white-space:normal}
.an-mail>td{padding:4px 16px 14px!important;white-space:normal!important;background:var(--surface)}
.mt-rand{box-shadow:inset 3px 0 0 var(--accent);padding:2px 0 2px 12px}
.mt-kopf{display:flex;gap:10px;align-items:center}.mt-kopf .fuell{flex:1}
.mt-text{white-space:pre-wrap;font-size:13px;line-height:1.5;margin:8px 0 6px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:6px;max-width:860px}
.mt-weg{display:inline;margin-left:8px}.mt-weg button{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;color:var(--soft)}
.an-stellen{grid-template-columns:1fr}.an-formulare li{grid-template-columns:78px 1fr}

/* Lage der Leitung auf der Startseite (Claudia 03.10.2026: Bild A, darunter die Entscheidungen) */
.lage-zeile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.lage-k{display:block;color:inherit;text-decoration:none;padding:12px 14px}
.lage-k:hover{border-color:var(--ink)}
.lage-k h2{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.lage-k b{font-size:24px;font-weight:600;line-height:1;margin-right:6px}
.lage-k > span{font-size:12.5px;color:var(--soft)}
.lage-k small{display:block;margin-top:6px;font-size:12px;color:var(--soft)}
.lage-k.rot b{color:var(--alert)}
.lage-marke{display:inline-block;padding:1px 8px;border-radius:10px;background:#ECE7DF;font-size:11.5px;font-weight:600}
@media (max-width:900px){.lage-zeile{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Curriculum: Stand der Lehrtrainer:in als Wort, Name führt in die Besetzung (Claudia 03.10.2026) */
.lt-liste a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}
.lt-stand{color:var(--warn)}

/* Besetzung (Claudia 03.10.2026: „formatiere bitte anders“): Der Ablauf bekommt immer Platz; jeder Schritt bleibt in einer Zeile, im schmalen Fenster rollt die Tabelle */
.blatt.besetzung{min-width:740px}
.blatt.besetzung .ablauf-zeile{gap:1px 12px}
.blatt.besetzung .ablauf-zeile .schritt{white-space:nowrap}
.blatt.besetzung td{vertical-align:top}
.blatt.besetzung tr.gruppe td{vertical-align:middle}

/* Meine Woche mit Wochenende (Claudia 03.10.2026: Bild C, Schalter je Person): sieben schmalere Spalten, Samstag und Sonntag gestrichelt */
.woche-board.sieben{grid-template-columns:230px repeat(7,minmax(128px,1fr))}
.w-spalte.we{background:var(--surface);border:1px dashed var(--line-strong)}
.w-spalte.we.heute{background:#E9E4DB;border-style:solid}
@media (max-width:1100px){.woche-board.sieben{grid-template-columns:210px repeat(7,140px)}}

/* Kursmails: Pflicht oder bei Bedarf (Claudia 03.10.2026) */
.km-pille.pflicht{background:#ECE7DF;font-weight:600}

/* Entwurf-Speicher: Hinweis unter dem Textfeld (static/entwurf.js, 03.10.2026) */
.entwurf-hinweis{margin-top:4px;padding:4px 8px;border-left:3px solid var(--warn);background:var(--surface);display:block}
.entwurf-hinweis .knopf{margin-left:4px}

/* Seite hält sich frisch: Streifen, wenn jemand anderes etwas geändert hat und hier gerade gearbeitet wird (03.10.2026) */
.frisch-streifen{position:fixed;left:50%;top:10px;transform:translateX(-50%);z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--warn);
  border-radius:8px;padding:8px 12px;font-size:13px;box-shadow:0 4px 14px rgba(40,35,32,.12);max-width:calc(100vw - 32px)}
.frisch-streifen .knopf{margin-left:6px}
.meldung.konflikt{border-left-color:var(--warn)}

/* Fehlende Belege (03.10.2026): zwei Spalten wie Bild C, Tabelle wie Bild A */
.fb-kopf{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px}
.fb-kopf .ampel{margin-left:10px}.fb-hoch{display:flex;gap:8px;align-items:center;margin:0}
.fb-zwei{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media (max-width:1000px){.fb-zwei{grid-template-columns:1fr}}
.fb-spalte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.fb-spalte h2{font-size:14px;margin:0 0 10px;display:flex;justify-content:space-between}.fb-spalte h2 span{font-weight:400;color:var(--soft)}
.fb-spalte.bei-leitung{box-shadow:inset 4px 0 0 var(--accent)}
.fb-punkt{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px;line-height:1.4}
.fb-punkt small{display:block;color:var(--soft);font-size:12.5px}.fb-punkt small.fb-notiz,.fb-tab small.fb-notiz{color:var(--ink)}
.fb-punkt.zu b{font-weight:500;color:var(--soft)}
.fb-knoepfe{display:flex;gap:6px;flex:none;margin:0}.fb-form{width:280px}
.fb-erledigt{margin-top:14px}.fb-erledigt summary{cursor:pointer;color:var(--soft);margin-bottom:8px}
.fb-liste{margin-top:16px}.fb-liste h2 .ampel{margin-left:8px;font-weight:400}.fb-leiste{margin:0 0 10px}
.fb-leiste .segment a{padding:4px 10px;text-decoration:none;color:inherit;display:inline-block}.fb-leiste .segment a.an{background:#ECE7DF;font-weight:600}
.fb-tab{width:100%;border-collapse:collapse}.fb-tab th{text-align:left;font-size:12px;color:var(--soft);font-weight:600;padding:5px 8px;border-bottom:1px solid var(--line-strong)}
.fb-tab td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.4}.fb-tab .r{text-align:right;white-space:nowrap}
.fb-tab small{display:block;font-size:12.5px}
.fb-chip{display:inline-block;border:1px solid var(--line-strong);border-radius:20px;padding:1px 9px;font-size:12px;white-space:nowrap}
.fb-chip.ok{border-color:var(--ok);color:var(--ok)}.fb-chip.bei{box-shadow:inset 4px 0 0 var(--accent);padding-left:12px}
.fb-leiste .segment{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;font-size:13px}
.mab-klapp{margin-top:16px}.mab-klapp > summary{cursor:pointer;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:16px}
.mab-klapp > summary .ampel{margin-left:6px;font-weight:400}.mab-klapp[open] > summary{margin-bottom:6px}

/* Aufgabenliste für die Leitung, ruhig (Claudia 03.10.2026, Bild B): oben höchstens vier, der Rest nach Bereichen zugeklappt; Rot nur am Datum */
.auf-ruhig .auf-zeile.dringend{box-shadow:none}.auf-ruhig .auf-gruppe.rot{color:var(--soft)}.auf-ruhig .auf-frist.ueber{font-weight:400}
.auf-ruhig .auf-plan .plan.offen{visibility:hidden}
.auf-gruppe.jetzt-dran{font-size:15px;color:var(--ink);margin-top:14px}
.auf-liste.jetzt-dran{box-shadow:inset 4px 0 0 var(--accent);border-radius:10px}.auf-liste.jetzt-dran .auf-zeile{padding:13px 16px 13px 20px}
.auf-weitere{display:flex;flex-direction:column;gap:6px}
.auf-bereich{display:flex;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 14px;text-decoration:none;color:inherit;font-size:13.5px}
.auf-bereich:hover{background:#FBFAF7}.auf-bereich b{font-weight:500}.auf-bereich span{color:var(--soft)}
.auf-mehr summary{cursor:pointer}.auf-mehr span{display:block;margin-top:3px}
.fb-archiv{margin-bottom:12px}.fb-archiv > summary{cursor:pointer;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:15px}
.fb-archiv[open] > summary{margin-bottom:10px}.fb-archiv .ampel{font-weight:400}

/* Geld und Fehlstunden über alle Kurse (04.10.2026, Bild B) */
.alle-kurse-auf > td{background:var(--paper,#F6F3EE);padding:10px 12px}
.ak-zeile{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:6px;text-decoration:none;color:inherit;font-size:13.5px}
.ak-zeile:last-child{margin-bottom:0}.ak-zeile:hover{background:#FBFAF7}.ak-zeile b{font-weight:600}
.ak-schild{border:1px solid var(--line-strong);border-radius:20px;padding:0 8px;font-size:11.5px;color:var(--soft)}
.ak-rechts{margin-left:auto;white-space:nowrap;color:var(--soft);font-size:12.5px}

/* Einstellungen aufgeräumt (Claudia 06.10.2026, Bild A): Übersicht in fünf Gruppen, auf der Seite nur die Reiter der eigenen Gruppe */
.e-gruppen{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:8px;align-items:start}
.e-gruppe{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.e-gruppe h2{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.e-gruppe a{display:block;padding:7px 0;border-top:1px solid var(--line);text-decoration:none}
.e-gruppe h2+a{border-top:0}
.e-gruppe a b{display:block;font-size:14px;font-weight:600}
.e-gruppe a span{font-size:12.5px;color:var(--soft)}
.e-gruppe a:hover b{text-decoration:underline}
.e-pfad{font-size:12.5px;color:var(--soft);margin:-6px 0 12px}
.e-pfad a{color:inherit}
.e-einspielen{box-shadow:inset 3px 0 0 var(--line-strong)}
.blatt.e-konten td.rechts{white-space:normal;text-align:right;min-width:230px}
.blatt.e-konten td.rechts form{display:inline-block;margin:2px 0 2px 4px}
.blatt.e-konten td.rechts .knopf{white-space:nowrap}

/* Anmeldename ändern (Claudia 06.10.2026): klappt an Ort und Stelle auf */
details.e-login{display:inline-block;margin-left:6px;font-family:"Inter",system-ui,sans-serif}
details.e-login>summary{list-style:none;cursor:pointer;font-size:12px;color:var(--soft);text-decoration:underline}
details.e-login>summary::-webkit-details-marker{display:none}
details.e-login[open]{display:block;margin:6px 0 2px}
details.e-login[open]>summary{display:none}
details.e-login form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
details.e-login form input[name=login]{width:210px}

/* Rechnungsliste: erst der Tarif, darin die Zahlungsmodelle (Claudia 06.10.2026) */
.rechnung-raster tr.rechnung-tarif td{background:var(--surface);font-size:13px;font-weight:700;padding-top:12px;padding-bottom:5px;border-bottom:1.5px solid var(--ink)}
.rechnung-raster tr.rechnung-tarif td span{font-weight:400;color:var(--soft);font-size:12px;margin-left:4px}
.rechnung-raster tr.rechnung-tarif:first-child td{padding-top:6px}

/* Marke „AG“: die Rechnung geht (auch) an einen Arbeitgeber (Claudia 06.10.2026, Bild A) */
.ag-pille{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--ink);border:1px solid var(--ink);border-radius:9px;padding:0 6px;margin-left:4px;vertical-align:1px;cursor:help}
