/* Kursbereich – Seitenstile nach den Entwürfen (Briefing 04). Tokens aus /brand/brand.css. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nr{color:var(--akzent);margin-right:12px}
main.eng{width:100%;max-width:640px;margin:0 auto;padding:44px var(--seitenrand) 72px}
.ico{width:18px;height:18px;flex-shrink:0}
.eyebrow.grau{color:var(--grau2);letter-spacing:.1em}.eyebrow.weiss{color:var(--weiss)}
.meldung{background:var(--tint);border-left:3px solid var(--akzent);padding:.5rem .75rem;margin-bottom:.5rem}
.zweispaltig{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}
.status-aktiv{color:#1e8a3c}.status-gesperrt{color:#c0392b}.status-abgelaufen{color:var(--grau2)}
.link-knopf{min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--grau2);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}.link-knopf.rot{color:#c0392b}

/* --- Cockpit --- */
.hero{background:var(--tint);border-bottom:1px solid var(--tint-rand)}
.hero .inhalt{padding-top:44px;padding-bottom:52px;display:flex;flex-direction:column;gap:28px}
.hero-kopf{display:flex;flex-direction:column;gap:6px}.hero-kopf .lead{margin:0}
.hero-raster{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.weiter-karte{flex:999 1 560px;min-width:0;display:flex;flex-wrap:wrap;background:var(--weiss);border:1px solid var(--tint-rand);border-radius:var(--r-karte);overflow:hidden;box-shadow:var(--schatten-karte)}
.weiter-video{position:relative;flex:1 1 320px;min-height:240px;background:var(--video-bg);display:flex;align-items:center;justify-content:center;overflow:hidden}
.weiter-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.weiter-video .play{position:relative}
.play{width:72px;height:72px;border-radius:36px;background:var(--weiss);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}.play svg{width:28px;height:28px;margin-left:4px}
.video-pos{position:absolute;left:16px;bottom:18px;font-size:13px;font-weight:var(--g-hervor);color:var(--weiss);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.pos-leiste{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.25)}.pos-balken{position:absolute;left:0;bottom:0;height:5px;background:var(--akzent)}
.weiter-text{flex:1 1 300px;padding:28px 28px 30px;display:flex;flex-direction:column;gap:10px}
.weiter-text h2{font-weight:var(--g-text);font-size:28px;line-height:1.2;margin:0}.weiter-text h2 .nr{margin-right:10px}
.weiter-text .ziel{margin:4px 0 0;font-size:15px;color:var(--grau)}.knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.weiter-karte.fertig .weiter-text{flex:1 1 100%}
.fortschritt-karte{flex:1 1 260px;background:var(--weiss);border:1px solid var(--tint-rand);border-radius:var(--r-karte);padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--schatten-karte)}
.fortschritt-karte .eyebrow{align-self:stretch}
.ring{position:relative;width:168px;height:168px}.ring svg{width:168px;height:168px}
.ring .prozent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:var(--akzent);line-height:1}
.ring-text{text-align:center;display:flex;flex-direction:column;gap:2px}.ring-text strong{color:var(--ueberschrift)}.ring-text span{font-size:14px;color:var(--grau2)}
.module-block{padding-top:56px;padding-bottom:24px;display:flex;flex-direction:column;gap:28px}
.block-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.block-kopf h2{margin:0 0 6px}.meta-lang{margin:0;color:var(--grau2)}
.modul-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.modul-karte{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--r-karte);color:inherit;font-weight:var(--g-text);background:var(--weiss);border:1px solid var(--linie)}
.modul-karte:hover{border-color:var(--akzent);color:inherit}
.modul-karte.aktiv{border:2px solid var(--akzent);padding:23px;box-shadow:0 10px 30px rgba(18,120,198,.10)}
.modul-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ziffer{font-size:44px;font-weight:300;line-height:1;color:var(--akzent)}
.modul-text{display:flex;flex-direction:column;gap:6px;flex-grow:1}.modul-text h3{margin:0}.modul-text p{margin:0;font-size:14px;line-height:1.5;color:var(--grau2)}
.segmente{display:flex;gap:4px}.seg{flex:1;height:6px;border-radius:3px;background:var(--linie)}.seg.erledigt{background:var(--akzent)}.seg.aktuell{background:var(--blau-hell)}
.modul-fuss{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--grau2)}.modul-fuss .aktion{color:var(--akzent-dunkel);font-weight:var(--g-hervor)}
.unten{padding-top:32px;padding-bottom:72px;display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}
.faelle-box{flex:999 1 560px;min-width:0;border:1px solid var(--linie);border-radius:var(--r-karte);padding:26px 26px 10px;display:flex;flex-direction:column}
.faelle-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.faelle-kopf h2{font-size:26px;margin:0}.faelle-kopf a{padding:8px 0}
.fall-zeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px 0;border-top:1px solid var(--linie-hell)}
.fall-info{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 320px}.fall-titel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.fall-titel strong{color:var(--ueberschrift);font-size:17px}
.ebenen-chips{display:flex;flex-wrap:wrap;gap:6px}.fall-leer{color:var(--grau2);padding:12px 0 16px;margin:0}
.sparring-box{flex:1 1 300px;background:var(--akzent);color:var(--weiss);border-radius:var(--r-karte);padding:28px;display:flex;flex-direction:column;gap:14px}
.sparring-box svg{width:48px;height:48px}.sparring-box h2{font-weight:var(--g-text);font-size:24px;line-height:1.25;color:var(--weiss);margin:0}.sparring-box p{margin:0;font-size:15px}
.sparring-box .knopf{margin-top:auto;align-self:flex-start}

/* --- Lektion --- */
main.lektion-seite .lektion-raster{padding-top:32px;padding-bottom:72px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.lektion{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:22px}
.brotkrumen span{color:var(--grau2)}.lektion h1{font-size:38px;margin:0}.lektion h1 .nr{margin-right:16px}
.video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--video-bg)}
.video iframe{width:100%;height:100%;border:0;display:block}
.video-platzhalter{height:100%;display:flex;align-items:center;justify-content:center}.video-platzhalter .play{width:76px;height:76px;border-radius:38px}.video-label{position:absolute;left:18px;bottom:16px;font-size:13px;font-weight:var(--g-hervor);color:var(--weiss)}
.lektion-leiste{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--linie);border-radius:12px;background:#fafbfc}
.erledigt-knopf{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border-radius:var(--r-button);font:inherit;font-weight:var(--g-hervor);cursor:pointer;background:var(--weiss);color:var(--akzent);border:1px solid var(--outline-rand)}
.erledigt-knopf svg{width:20px;height:20px}.erledigt-knopf.an{background:var(--akzent);color:var(--weiss);border-color:var(--akzent)}
.naechste{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 4px;color:var(--akzent)}.naechste svg{width:20px;height:20px}
.naechste-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.abschnitt{display:flex;flex-direction:column;gap:8px}.abschnitt h2.eyebrow{font-size:13px;margin:0}
.lernziel{margin:0;font-size:18px;line-height:1.6;color:var(--ueberschrift);max-width:720px}
.material{display:flex;flex-wrap:wrap;gap:12px}
.material-kachel{flex:1 1 300px;max-width:420px;display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--linie);border-radius:12px;color:inherit;font-weight:var(--g-text);background:var(--weiss)}
.material-kachel:hover{border-color:var(--akzent);color:inherit}.material-kachel.folgt{opacity:.7}
.material-kachel.ueben{border-color:var(--tint-rand);background:var(--tint)}
.pdf-marke{width:48px;height:60px;border-radius:6px;background:var(--tint);border:1px solid var(--tint-rand);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:var(--g-hervor);color:var(--akzent-dunkel)}
.chat-marke{width:48px;height:48px;border-radius:24px;background:var(--akzent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-marke svg{width:22px;height:22px}
.material-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.material-text strong{color:var(--ueberschrift)}.material-text .meta.dunkel{color:var(--grau)}
.material-kachel .ico{width:22px;height:22px}
.kursinhalt{flex:1 1 280px;display:flex;flex-direction:column;gap:4px}
.kursinhalt-kopf{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px}.kursinhalt-kopf h2{font-size:17px;font-weight:var(--g-hervor);margin:0}
.ki-modul{border-top:1px solid var(--linie-hell);padding:12px 0}.ki-modul summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.ki-modul summary::-webkit-details-marker{display:none}
.ki-titel{font-size:14px;color:var(--ueberschrift);font-weight:var(--g-hervor)}.ki-modul .meta{font-size:13px;white-space:nowrap}
.mini-segmente{display:flex;gap:3px;margin-top:8px}.mini-segmente .seg{height:4px;border-radius:2px}
.ki-modul ul{list-style:none;margin:8px 0 0;padding:0}.ki-modul li a{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 8px;border-radius:8px;font-size:15px;color:var(--ueberschrift);font-weight:var(--g-text)}
.ki-modul li a svg{width:18px;height:18px;flex-shrink:0}.ki-modul li a.aktiv{background:var(--tint);color:var(--akzent-dunkel);font-weight:var(--g-hervor)}.ki-modul li a:hover{background:var(--tint)}
.selbsttest{margin-bottom:8px}.st-frage{border:1px solid var(--linie);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.st-frage legend{font-weight:var(--g-hervor);padding:0 .3rem}.st-frage label{margin-right:1rem}

/* --- Meine Fälle --- */
.faelle{padding-top:44px;padding-bottom:72px;display:flex;flex-direction:column;gap:28px}
.faelle-titel{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.faelle-titel>div{display:flex;flex-direction:column;gap:6px;max-width:640px}.faelle-titel h1,.faelle-titel .lead{margin:0}
.hinweis-grau svg{width:22px;height:22px;flex-shrink:0;margin-top:2px}.hinweis-grau p{margin:0}
.faelle-leer{padding:56px 24px;border:1px dashed var(--feld-rand);border-radius:var(--r-karte);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.faelle-leer strong{color:var(--ueberschrift);font-size:18px}.faelle-leer span{color:var(--grau2);max-width:460px}
.faelle-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.fall-karte{border:1px solid var(--linie);border-radius:var(--r-karte);padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--weiss)}
.fall-kopf{display:flex;flex-direction:column;gap:4px}.fall-kopf h2{font-size:20px;font-weight:var(--g-hervor);line-height:1.3;margin:0}.fall-kopf p{margin:4px 0 0;font-size:15px}
.ebenen{display:flex;flex-direction:column;gap:6px}.ebene{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--ueberschrift)}
.chip.klein-chip{height:24px;border-radius:12px}
.pattern-tags{display:flex;flex-wrap:wrap;gap:6px}.pattern-tags span{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--tint-rand);font-size:13px;color:var(--akzent-dunkel);font-weight:var(--g-hervor)}
.naechster-schritt{padding:12px 14px;border-radius:10px;background:var(--tint);font-size:14px;color:var(--ueberschrift)}
.fall-aktionen{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.fall-aktionen .knopf{min-height:44px;padding:0 18px}.loeschen-form{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--grau2)}

/* --- Chat --- */
.chat-knopf{position:fixed;right:24px;bottom:24px;z-index:50;width:60px;height:60px;border-radius:30px;border:0;background:var(--akzent);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(27,151,238,.4)}
.chat-knopf svg{width:28px;height:28px}.chat-knopf:hover{background:var(--akzent-dunkel)}
.chat-panel[hidden],.chat-knopf[hidden]{display:none}
.chat-panel{position:fixed;right:24px;bottom:24px;z-index:60;width:min(440px,calc(100vw - 48px));height:min(800px,calc(100vh - 48px));background:var(--weiss);border:1px solid var(--tint-rand);border-radius:var(--r-karte);box-shadow:0 16px 40px rgba(18,40,70,.16);display:flex;flex-direction:column;overflow:hidden;font-size:15px;line-height:1.5}
.chat-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--linie)}
.chat-titel{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.chat-titel svg{width:30px;height:30px;flex-shrink:0}.chat-titel strong{color:var(--ueberschrift);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ki-hinweis{font-size:11px;font-weight:var(--g-hervor);color:var(--akzent-dunkel);border:1px solid var(--tint-rand);border-radius:4px;padding:1px 5px}
.chat-aktionen{display:flex;gap:2px;flex-shrink:0}.chat-aktionen button{width:44px;height:44px;border:0;background:transparent;border-radius:var(--r-button);cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-aktionen button:hover{background:var(--tint)}.chat-aktionen svg{width:20px;height:20px}
.chat-verlauf{flex:1;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.chat-msg,.chat-fallkarte,.chat-gespeichert,.chat-optionen,.chat-tippt{flex-shrink:0}
.chat-msg{overflow-wrap:anywhere}
.chat-msg.user{align-self:flex-end;max-width:82%;background:var(--akzent);color:var(--weiss);padding:10px 14px;border-radius:14px 14px 4px 14px}.chat-msg.user a{color:var(--weiss)}
.chat-msg.bot{align-self:flex-start;max-width:90%;background:var(--antwort);color:var(--ueberschrift);padding:12px 14px;border-radius:14px 14px 14px 4px}
.chat-msg.hinweis{align-self:center;color:var(--grau2);font-size:13px;text-align:center}
.chat-msg p{margin:0 0 .6rem}.chat-msg p:last-child{margin-bottom:0}.chat-msg ul,.chat-msg ol{margin:.2rem 0 .6rem 1.2rem}
.chat-msg h1,.chat-msg h2,.chat-msg h3{font-size:15px;font-weight:var(--g-hervor);margin:.6rem 0 .3rem}
.chat-msg table{border-collapse:collapse;margin:.4rem 0 .8rem;font-size:14px;width:100%}.chat-msg th,.chat-msg td{border:1px solid var(--linie);padding:.3rem .45rem;text-align:left;vertical-align:top}.chat-msg th{background:var(--weiss)}
.chat-msg pre{background:var(--weiss);border:1px solid var(--linie);padding:.5rem;border-radius:4px;overflow-x:auto;font-size:13px}
.chat-optionen{display:flex;flex-wrap:wrap;gap:6px;margin:.5rem 0 .2rem}.chat-optionen button{border:1px solid var(--akzent);background:var(--weiss);color:var(--akzent);font:inherit;font-size:14px;font-weight:var(--g-hervor);min-height:36px;padding:0 12px;border-radius:18px;cursor:pointer}.chat-optionen button:hover{background:var(--akzent);color:var(--weiss)}
.chat-formulierung{position:relative;background:var(--weiss);border-left:3px solid var(--akzent);padding:.6rem 2.8rem .6rem .8rem;margin:.5rem 0;border-radius:0 6px 6px 0;font-style:italic;white-space:pre-wrap}
.chat-formulierung button{position:absolute;top:.4rem;right:.4rem;border:1px solid var(--linie);background:var(--weiss);font:inherit;font-size:12px;padding:.2rem .45rem;border-radius:4px;cursor:pointer;color:var(--grau2);font-style:normal}
.chat-fallkarte{border:1px solid var(--tint-rand);border-radius:12px;overflow:hidden;background:var(--weiss);align-self:stretch}
.chat-fallkarte .fk-kopf{padding:10px 14px;background:var(--tint);font-size:12px;font-weight:var(--g-hervor);letter-spacing:.1em;text-transform:uppercase;color:var(--akzent-dunkel)}
.chat-fallkarte .fk-body{padding:14px;display:flex;flex-direction:column;gap:10px}
.chat-fallkarte label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--grau)}.chat-fallkarte input{font:inherit;font-size:15px;color:var(--ueberschrift);padding:9px 10px;border:1px solid var(--feld-rand);border-radius:var(--r-button);min-height:40px}
.fk-ebenen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:13px}.fk-ebenen span{padding:6px 8px;border-radius:6px;font-weight:var(--g-hervor)}
.fk-ebenen .tint{background:var(--tint);color:var(--akzent-dunkel)}.fk-ebenen .voll{background:var(--akzent);color:var(--weiss)}.fk-ebenen .grau{background:var(--chip-grau);color:var(--grau2)}
.fk-zeile{font-size:14px;color:var(--ueberschrift)}.fk-knoepfe{display:flex;gap:8px;margin-top:4px}
.fk-knoepfe .knopf{flex:1;min-height:44px;padding:0 14px}.fk-knoepfe .knopf.zweit{flex:0 0 auto;background:var(--weiss);color:var(--grau);border:1px solid var(--feld-rand)}
.fk-hinweis{margin:0;font-size:12.5px;color:var(--grau2)}
.chat-gespeichert{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--tint);border:1px solid var(--tint-rand);font-size:14px;color:var(--ueberschrift);align-self:stretch}.chat-gespeichert svg{width:24px;height:24px;flex-shrink:0}.chat-gespeichert a{margin-left:auto;font-size:14px;color:var(--akzent-dunkel)}
.chat-eingabe{border-top:1px solid var(--linie);padding:12px;display:flex;flex-direction:column;gap:8px}
.chat-eingabe textarea{font:inherit;font-size:15px;resize:none;padding:10px 12px;border:1px solid var(--feld-rand);border-radius:10px;background:var(--weiss);color:var(--ueberschrift);width:100%}
.chat-leiste{display:flex;align-items:center;justify-content:space-between}
.chat-upload{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 8px;color:var(--grau);font-size:14px;cursor:pointer}.chat-upload svg{width:18px;height:18px}.chat-upload:hover{color:var(--akzent)}
.chat-datei{font-size:13px;color:var(--grau2);background:var(--tint);padding:6px 10px;border-radius:8px;display:flex;justify-content:space-between;gap:8px}.chat-datei button{border:0;background:transparent;color:var(--grau2);cursor:pointer;font:inherit}
#chat-senden{min-height:42px;padding:0 20px;font-size:15px}#chat-senden[disabled]{opacity:.6;cursor:wait}
.chat-tippt span{display:inline-block;width:6px;height:6px;margin-right:3px;border-radius:50%;background:var(--grau2);animation:chatp 1s infinite}.chat-tippt span:nth-child(2){animation-delay:.2s}.chat-tippt span:nth-child(3){animation-delay:.4s}
@keyframes chatp{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (max-width:640px){.chat-panel{right:0;bottom:0;width:100vw;height:100vh;height:100dvh;border-radius:0;border:0}.chat-kopf{padding:8px 6px 8px 12px;gap:4px}.chat-titel{gap:6px}.chat-titel strong{font-size:15px}.chat-titel svg{width:26px;height:26px}.chat-aktionen button{width:40px;height:40px}}
@media (max-width:820px){.lektion h1{font-size:30px}}
@media (prefers-reduced-motion:reduce){.chat-tippt span{animation:none}}
