/* QM-Anwendung – einfache, ruhige Oberfläche, gross genug für Tablets */
:root {
  --bg: #f5f6f8; --flaeche: #fff; --text: #1d2433; --grau: #667085; --linie: #e3e6ec;
  --primaer: #1f5fa8; --primaer-hell: #e8f0fa;
  --plan: #2f6fd0; --do: #d98a00; --check: #8a4fd1; --act: #1e9a5a; --neu: #5b6b82;
  --rot: #d23f31; --gelb: #e7b416; --gruen: #2e9b57;
  --radius: 12px; --schatten: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.1);
  font-size: 16px;
}
[hidden] { display: none !important; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; background: var(--bg);
  color: var(--text); line-height: 1.45; min-height: 100vh; display: flex; flex-direction: column; }
a { color: var(--primaer); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.6rem; margin: .2rem 0 1rem; }
h2 { font-size: 1.2rem; margin: 1.5rem 0 .6rem; }
h3 { font-size: 1.05rem; margin: 1rem 0 .4rem; }
.klein { font-size: .85rem; } .grau { color: var(--grau); } .rechts { text-align: right; }
.zahl { font-variant-numeric: tabular-nums; }

/* Kopf */
.kopf { display: flex; align-items: center; gap: 1rem; padding: .5rem 1.2rem; background: #fff;
  border-bottom: 1px solid var(--linie); position: sticky; top: 0; z-index: 20; flex-wrap: wrap; }
.marke { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--text); }
.logo { background: var(--primaer); color: #fff; border-radius: 8px; padding: .2rem .45rem; font-size: .9rem; }
.haupt { display: flex; gap: .1rem; flex-wrap: wrap; flex: 1; align-items: center; }
.haupt a { padding: .45rem .55rem; border-radius: 8px; color: var(--text); font-weight: 500; white-space: nowrap; }
.haupt a:hover { background: var(--bg); text-decoration: none; }
.haupt a.aktiv { background: var(--primaer-hell); color: var(--primaer); }
.haupt .mehr { position: relative; }
.haupt .mehr summary { cursor: pointer; list-style: none; padding: .45rem .55rem; white-space: nowrap; border-radius: 8px; font-weight: 500; color: var(--grau); }
.haupt .mehr summary::-webkit-details-marker { display: none; }
.haupt .mehr summary:hover { background: var(--bg); }
.haupt .mehr summary.aktiv { background: var(--primaer-hell); color: var(--primaer); }
.haupt .mehr .menu { position: absolute; left: 0; top: 2.5rem; background: #fff; border: 1px solid var(--linie);
  border-radius: 10px; box-shadow: var(--schatten); padding: .5rem; display: flex; flex-direction: column;
  min-width: 240px; z-index: 30; }
.haupt .mehr .menu span { padding: .5rem .7rem .2rem; }
@media (max-width: 900px) { .haupt .mehr .menu { position: static; box-shadow: none; border: 0; padding: 0 0 0 .8rem; } }
.neben { display: flex; gap: .5rem; align-items: center; }
.chip { padding: .3rem .7rem; border-radius: 999px; background: var(--bg); color: var(--text); font-size: .9rem; }
.chip b { background: var(--primaer); color: #fff; border-radius: 999px; padding: 0 .45rem; margin-left: .2rem; }
.chip.warn b { background: var(--do); }
.benutzer { position: relative; }
.benutzer summary { cursor: pointer; list-style: none; padding: .3rem .6rem; border-radius: 8px; }
.benutzer summary:hover { background: var(--bg); }
.benutzer .menu { position: absolute; right: 0; top: 2.3rem; background: #fff; border: 1px solid var(--linie);
  border-radius: 10px; box-shadow: var(--schatten); padding: .5rem; display: flex; flex-direction: column;
  min-width: 220px; z-index: 30; }
.benutzer .menu a, .benutzer .menu span { padding: .45rem .6rem; border-radius: 6px; }
.benutzer .menu a:hover { background: var(--bg); text-decoration: none; }
.menu-auf, .menu-knopf { display: none; }
@media (max-width: 900px) {
  .menu-knopf { display: block; margin-left: auto; font-size: 1.4rem; cursor: pointer; }
  .haupt { display: none; flex-basis: 100%; flex-direction: column; }
  .menu-auf:checked ~ .haupt { display: flex; }
  .marke-text { display: none; }
}

.inhalt { padding: 1.2rem; max-width: 1400px; width: 100%; margin: 0 auto; flex: 1; }
.fuss { text-align: center; color: var(--grau); font-size: .8rem; padding: 1rem; }

/* Bausteine */
.karte { background: var(--flaeche); border-radius: var(--radius); box-shadow: var(--schatten); padding: 1rem 1.2rem; }
.raster { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.raster-2 { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); }
.zeile { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.zeile.zwischen { justify-content: space-between; }
.stapel > * + * { margin-top: .6rem; }
.titelzeile { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.titelzeile h1 { margin: 0; }
.unterzeile { color: var(--grau); margin: -.6rem 0 1rem; }

.knopf { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--linie); background: #fff;
  color: var(--text); padding: .55rem 1rem; border-radius: 10px; font-size: 1rem; cursor: pointer; font-weight: 500;
  min-height: 44px; font-family: inherit; }
.knopf:hover { background: var(--bg); text-decoration: none; }
.knopf.primaer { background: var(--primaer); border-color: var(--primaer); color: #fff; }
.knopf.primaer:hover { background: #174b86; }
.knopf.gross { font-size: 1.15rem; padding: .8rem 1.4rem; border-radius: 14px; }
.knopf.klein { min-height: 34px; padding: .3rem .7rem; font-size: .9rem; }
.knopf.gefahr { color: var(--rot); }
.knopf.link { border: none; background: none; color: var(--primaer); padding: .2rem; min-height: auto; }

.ampel { display: inline-block; width: .8rem; height: .8rem; border-radius: 50%; vertical-align: middle; }
.ampel.rot { background: var(--rot); } .ampel.gelb { background: var(--gelb); } .ampel.gruen { background: var(--gruen); }

.marke-status { display: inline-block; font-size: .78rem; padding: .1rem .5rem; border-radius: 999px; font-weight: 600;
  background: var(--bg); color: var(--grau); white-space: nowrap; }
.marke-status.neu { background: #eef1f5; color: var(--neu); }
.marke-status.plan { background: #e7effb; color: var(--plan); }
.marke-status.do { background: #fdf2dc; color: #a56800; }
.marke-status.check { background: #f2eafb; color: var(--check); }
.marke-status.act, .marke-status.ok { background: #e3f4ea; color: var(--act); }
.marke-status.grau { background: #f0f0f0; color: #777; }
.etikett { display: inline-block; font-size: .78rem; padding: .05rem .45rem; border-radius: 6px; background: var(--bg);
  color: var(--grau); }
.avatar { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%;
  background: var(--primaer-hell); color: var(--primaer); font-size: .75rem; font-weight: 700; }

/* Tabellen */
table.tabelle { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--schatten); }
.tabelle th, .tabelle td { padding: .55rem .7rem; text-align: left; border-bottom: 1px solid var(--linie); vertical-align: top; }
.tabelle th { background: #fafbfc; font-size: .85rem; color: var(--grau); font-weight: 600; }
.tabelle tr:hover td { background: #fafcff; }
.tabelle td.zahl, .tabelle th.zahl { text-align: right; }
.scroll { overflow-x: auto; }

/* Filter */
.filter { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
.filter select, .filter input[type=search] { min-height: 40px; }

/* Formulare */
input, select, textarea { font: inherit; padding: .55rem .7rem; border: 1px solid #cfd5df; border-radius: 9px;
  background: #fff; color: var(--text); max-width: 100%; }
input:focus, select:focus, textarea:focus { outline: 3px solid var(--primaer-hell); border-color: var(--primaer); }
textarea { width: 100%; }
.feld { margin-bottom: 1rem; }
.feld > label, .feld > .label { display: block; font-weight: 600; margin-bottom: .3rem; }
.feld input[type=text], .feld input[type=email], .feld input[type=url], .feld input[type=password],
.feld input[type=number], .feld select, .feld textarea, .feld input[type=date] { width: 100%; }
.feld .hilfe { color: var(--grau); font-size: .85rem; margin-top: .2rem; }
.feld .fehler, .errorlist { color: var(--rot); font-size: .9rem; margin: .2rem 0; padding: 0; list-style: none; }
.feld ul:not(.errorlist), .feld div[id] > div { list-style: none; padding: 0; margin: 0; }
.feld input[type=checkbox], .feld input[type=radio] { width: 1.2rem; height: 1.2rem; vertical-align: middle; }
.feld label input[type=checkbox], .feld label input[type=radio] { margin-right: .4rem; }
.feld ul label, .feld div[id] label { font-weight: 400; display: flex; align-items: center; padding: .25rem 0; }

/* Auswahlkacheln (Auslöser, Prozess, Skalen) */
.kacheln { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.kacheln label { display: flex; align-items: center; gap: .5rem; border: 2px solid var(--linie); border-radius: 12px;
  padding: .65rem .75rem; cursor: pointer; background: #fff; font-weight: 500; min-height: 52px; }
.kacheln label:hover { border-color: #b8c6dc; }
.kacheln input { position: absolute; opacity: 0; pointer-events: none; }
.kacheln label:has(input:checked) { border-color: var(--primaer); background: var(--primaer-hell); }
.kacheln label.vorschlag { box-shadow: 0 0 0 3px #ffe08a; }
.kacheln .sym { font-size: 1.4rem; }
.kacheln label span:last-child { overflow-wrap: anywhere; hyphens: auto; }
.prozess-gruppe h4 { margin: .8rem 0 .4rem; color: var(--grau); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }
.prozess-gruppe.FP label:has(input:checked) { border-color: #6b5bd6; background: #efedfb; }
.prozess-gruppe.UP label:has(input:checked) { border-color: #2e9b57; background: #e8f6ee; }
.skala { display: flex; gap: .4rem; }
.skala label { border: 2px solid var(--linie); border-radius: 10px; padding: .5rem 1rem; cursor: pointer; font-weight: 500; }
.skala input { position: absolute; opacity: 0; }
.skala label:has(input:checked) { border-color: var(--primaer); background: var(--primaer-hell); }

/* Assistent (Neuer Eintrag) */
.assistent { max-width: 860px; margin: 0 auto; }
.schritte { display: flex; gap: .5rem; margin-bottom: 1.2rem; }
.schritte span { flex: 1; text-align: center; padding: .6rem; border-radius: 10px; background: #fff; color: var(--grau);
  font-weight: 600; border: 2px solid var(--linie); }
.schritte span.aktiv { border-color: var(--primaer); color: var(--primaer); }
.schritte span.fertig { background: var(--primaer-hell); color: var(--primaer); }
.schritt { display: none; }
.schritt.aktiv { display: block; }
.schritt h2 { font-size: 1.5rem; margin-top: 0; }
.assistent-fuss { display: flex; justify-content: space-between; margin-top: 1rem; }
.hinweis { background: #fff8e6; border: 1px solid #f3dca0; border-radius: 10px; padding: .6rem .8rem; font-size: .92rem; }
.hinweis.info { background: var(--primaer-hell); border-color: #c7d9f1; }

/* PDCA-Tafel */
.tafel { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .tafel { grid-template-columns: repeat(2, minmax(240px, 1fr)); } }
@media (max-width: 600px) { .tafel { grid-template-columns: 1fr; } }
.spalte { background: #eceff4; border-radius: 14px; padding: .7rem; min-height: 300px; transition: background .15s; }
.spalte.drop { background: #dde7f6; outline: 2px dashed var(--primaer); }
.spalte-kopf { display: flex; justify-content: space-between; align-items: baseline; padding: .2rem .3rem .6rem;
  border-top: 5px solid; border-radius: 4px; }
.spalte-kopf b { font-size: 1.15rem; }
.spalte[data-spalte=plan] .spalte-kopf { border-color: var(--plan); }
.spalte[data-spalte=do] .spalte-kopf { border-color: var(--do); }
.spalte[data-spalte=check] .spalte-kopf { border-color: var(--check); }
.spalte[data-spalte=act] .spalte-kopf { border-color: var(--act); }
.spalte-frage { color: var(--grau); font-size: .85rem; display: block; }
.anzahl { background: #fff; border-radius: 999px; padding: 0 .55rem; font-size: .85rem; color: var(--grau); }
.kvp-karte { background: #fff; border-radius: 10px; padding: .7rem .8rem; margin-bottom: .6rem; box-shadow: var(--schatten);
  cursor: grab; border-left: 4px solid transparent; display: block; color: var(--text); }
.kvp-karte:hover { text-decoration: none; box-shadow: 0 4px 10px rgba(16,24,40,.12); }
.kvp-karte.ziehen { opacity: .5; }
.kvp-karte.rot { border-left-color: var(--rot); }
.kvp-karte.gelb { border-left-color: var(--gelb); }
.kvp-karte .titel { font-weight: 600; margin: .15rem 0 .4rem; }
.kvp-karte .meta { display: flex; justify-content: space-between; align-items: center; font-size: .82rem; color: var(--grau); gap: .3rem; }
.kvp-karte .neu-hinweis { font-size: .78rem; color: var(--neu); background: #eef1f5; border-radius: 6px; padding: .05rem .4rem; }
.leer { color: var(--grau); text-align: center; padding: 1.5rem .5rem; font-size: .9rem; }

/* Dialog */
dialog { border: none; border-radius: 16px; padding: 0; width: min(640px, 94vw); box-shadow: 0 20px 50px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(20,30,50,.45); }
.dialog-kopf { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem .4rem; }
.dialog-kopf h2 { margin: 0; }
.dialog-inhalt { padding: .4rem 1.2rem 1.2rem; max-height: 75vh; overflow: auto; }
.dialog-fuss { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }

/* Zeitleiste */
.zeitleiste { list-style: none; padding: 0; margin: 0; border-left: 3px solid var(--linie); }
.zeitleiste li { position: relative; padding: 0 0 1rem 1.2rem; }
.zeitleiste li::before { content: ""; position: absolute; left: -8px; top: .3rem; width: 13px; height: 13px; border-radius: 50%;
  background: #fff; border: 3px solid var(--primaer); }
.zeitleiste .wann { color: var(--grau); font-size: .85rem; }
.zeitleiste .diff { font-size: .88rem; margin: .2rem 0 0; }
.zeitleiste .alt { text-decoration: line-through; color: #a33; }
.zeitleiste .neu { color: #186c3c; }

/* PDCA-Fortschritt im Detail */
.pdca-leiste { display: flex; gap: 4px; margin: .5rem 0 1rem; }
.pdca-leiste span { flex: 1; text-align: center; padding: .45rem; border-radius: 8px; background: #eceff4; color: var(--grau);
  font-weight: 600; font-size: .9rem; }
.pdca-leiste span.erledigt { background: #dbe8f7; color: var(--primaer); }
.pdca-leiste span.jetzt { background: var(--primaer); color: #fff; }
.zyklus { border: 1px solid var(--linie); border-radius: 10px; padding: .7rem .9rem; margin-bottom: .7rem; }
dl.felder { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; }
dl.felder dt { color: var(--grau); font-size: .9rem; }
dl.felder dd { margin: 0; white-space: pre-line; }

/* Kalender */
.kalender { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background: var(--linie);
  border: 1px solid var(--linie); border-radius: var(--radius); overflow: hidden; }
.kalender .kopfzeile { background: #fafbfc; padding: .4rem; text-align: center; font-weight: 600; color: var(--grau); font-size: .85rem; }
.kalender .tag { background: #fff; min-height: 115px; padding: .3rem; font-size: .8rem; }
.kalender .tag.anders { background: #fafbfc; color: #aab; }
.kalender .tag.heute { box-shadow: inset 0 0 0 2px var(--primaer); }
.kalender .tagnr { font-weight: 600; font-size: .85rem; }
.termin { display: block; border-radius: 5px; padding: .1rem .3rem; margin-top: 2px; color: var(--text); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; border-left: 3px solid var(--grau); background: #f3f5f8; }
.termin:hover { text-decoration: none; background: #e9eef5; }
.termin.erledigt { opacity: .5; text-decoration: line-through; }
.t-kvp { border-color: var(--plan); } .t-wirkung { border-color: var(--check); } .t-konzept, .t-kriterium, .t-ueberpruefung { border-color: #0f8b8d; }
.t-meilenstein { border-color: #c2185b; background: #fdecf3; } .t-vorhaben { border-color: #c2185b; }
.t-sitzung { border-color: #6b5bd6; background: #efedfb; } .t-pendenz { border-color: var(--do); }
.t-quartal { border-color: var(--act); background: #e3f4ea; } .t-audit { border-color: #8d6e63; } .t-schulung { border-color: #546e7a; }
@media (max-width: 700px) { .kalender .tag { min-height: 70px; } .termin { font-size: .7rem; } }

/* Zeitstrahl */
.zs { position: relative; background: #fff; border-radius: var(--radius); box-shadow: var(--schatten); padding: .5rem 0 1rem; overflow-x: auto; }
.zs-inner { min-width: 1100px; position: relative; padding-left: 260px; padding-right: 1rem; }
.zs-monate { position: relative; height: 1.8rem; border-bottom: 1px solid var(--linie); }
.zs-monat { position: absolute; font-size: .72rem; color: var(--grau); border-left: 1px solid var(--linie); padding-left: 3px; height: 100%; }
.zs-monat.jahr { border-left: 2px solid #9aa; color: var(--text); font-weight: 600; }
.zs-bereich { font-weight: 700; margin: .7rem 0 .2rem -250px; font-size: .9rem; color: var(--primaer); }
.zs-zeile { position: relative; height: 1.75rem; }
.zs-zeile .zs-label { position: absolute; left: -250px; width: 240px; font-size: .82rem; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; top: .25rem; }
.zs-balken { position: absolute; top: .3rem; height: 1.15rem; border-radius: 6px; background: #c9d8ee; overflow: hidden; }
.zs-balken i { display: block; height: 100%; background: var(--primaer); opacity: .8; }
.zs-balken.erledigt { background: #b8e0c7; } .zs-balken.erledigt i { background: var(--gruen); }
.zs-balken.rot { box-shadow: 0 0 0 2px var(--rot); } .zs-balken.gelb { box-shadow: 0 0 0 2px var(--gelb); }
.zs-raute { position: absolute; top: .3rem; width: 14px; height: 14px; background: #c2185b; transform: rotate(45deg) translateX(-5px); }
.zs-raute.erledigt { background: var(--gruen); }
.zs-heute { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--rot); z-index: 2; }

/* Matrix und Kennzahlen */
.matrix td, .matrix th { text-align: center; }
.matrix td:first-child, .matrix th:first-child { text-align: left; }
.matrix .heim { background: #f2f7ff; }
.matrix .f { font-weight: 700; color: var(--primaer); } .matrix .v { color: var(--grau); font-size: .85rem; }
.balken { height: .55rem; background: #eceff4; border-radius: 999px; overflow: hidden; min-width: 80px; }
.balken i { display: block; height: 100%; background: var(--primaer); }
.balken.gruen i { background: var(--gruen); }
.stapelbalken { display: flex; height: 1.1rem; border-radius: 6px; overflow: hidden; background: #eceff4; min-width: 120px; }
.stapelbalken i { display: block; height: 100%; }
.c-neu { background: var(--neu); } .c-plan { background: var(--plan); } .c-do { background: var(--do); }
.c-check { background: var(--check); } .c-act { background: #59c08a; } .c-ok { background: var(--act); } .c-std { background: #0f6b3d; }
.legende { display: flex; gap: .8rem; flex-wrap: wrap; font-size: .8rem; color: var(--grau); }
.legende i { display: inline-block; width: .8rem; height: .8rem; border-radius: 3px; vertical-align: middle; margin-right: .2rem; }
.kpi { text-align: center; }
.kpi .wert { font-size: 2rem; font-weight: 700; color: var(--primaer); line-height: 1.1; }
.kpi .wert.warn { color: var(--rot); }
.kpi .text { color: var(--grau); font-size: .9rem; }
.auffaellig { color: var(--rot); font-weight: 700; }
.r1 { background: #fde2df; } .r2 { background: #fff1c7; } .r3 { background: #dff1e6; } .r4 { background: #b9e3c9; }

/* Konzept-Status-Tafel */
.stufen { display: grid; grid-template-columns: repeat(6, minmax(160px, 1fr)); gap: .7rem; overflow-x: auto; }
.stufe { background: #eceff4; border-radius: 12px; padding: .6rem; min-height: 160px; }
.stufe h3 { margin: 0 0 .5rem; font-size: .92rem; }
.konzept-karte { background: #fff; border-radius: 9px; padding: .5rem .6rem; margin-bottom: .45rem; box-shadow: var(--schatten);
  display: block; color: var(--text); font-size: .88rem; }
.konzept-karte:hover { text-decoration: none; box-shadow: 0 4px 10px rgba(16,24,40,.12); }
.stufenpfad { display: flex; gap: 3px; margin: .5rem 0 1rem; flex-wrap: wrap; }
.stufenpfad span { flex: 1; text-align: center; padding: .4rem; font-size: .82rem; border-radius: 7px; background: #eceff4; color: var(--grau); }
.stufenpfad span.erledigt { background: #dff1e6; color: var(--act); } .stufenpfad span.jetzt { background: var(--act); color: #fff; }

/* Prozesslandkarte */
.landkarte { display: grid; gap: .8rem; }
.landkarte .band { border-radius: 14px; padding: .7rem; }
.landkarte .band.FP { background: #efedfb; } .landkarte .band.KP { background: #e7effb; } .landkarte .band.UP { background: #e8f6ee; }
.landkarte .band h3 { margin: 0 0 .5rem; font-size: .9rem; }
.landkarte .kacheln-pr { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.landkarte .pr { background: #fff; border-radius: 9px; padding: .5rem .6rem; font-size: .88rem; }
.landkarte .pr small { display: block; color: var(--grau); }

/* Toasts */
.meldungen { position: fixed; right: 1rem; bottom: 1rem; z-index: 50; display: flex; flex-direction: column; gap: .5rem; }
.toast { background: #1d2433; color: #fff; padding: .7rem 1rem; border-radius: 10px; box-shadow: var(--schatten);
  animation: weg 6s forwards; max-width: 420px; }
.toast.success { background: #186c3c; } .toast.error { background: #a32a1f; } .toast.warning { background: #8a5a00; }
@keyframes weg { 0%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }

/* Anmeldung und öffentliche Seiten */
.einfach { display: grid; place-items: center; min-height: 80vh; }
.anmelde-karte { width: min(420px, 94vw); }
.anmelde-karte .logo { font-size: 1.2rem; }

@media print {
  .kopf, .fuss, .nicht-drucken, .meldungen { display: none !important; }
  body { background: #fff; } .karte, .tabelle { box-shadow: none; border: 1px solid #ddd; }
  .inhalt { padding: 0; max-width: none; }
}

/* Export-Menü */
.export { position: relative; display: inline-block; }
.export summary { list-style: none; }
.export summary::-webkit-details-marker { display: none; }
.export .menu { position: absolute; right: 0; top: 2.9rem; background: #fff; border: 1px solid var(--linie); border-radius: 10px;
  box-shadow: var(--schatten); padding: .4rem; display: flex; flex-direction: column; min-width: 170px; z-index: 30; }
.export .menu a { padding: .5rem .6rem; border-radius: 6px; color: var(--text); display: flex; gap: .5rem; align-items: center; }
.export .menu a:hover { background: var(--bg); text-decoration: none; }
.fmt { font-size: .7rem; font-weight: 700; color: #fff; border-radius: 4px; padding: .1rem .3rem; min-width: 2.6rem; text-align: center; }
.fmt-docx { background: #2b579a; } .fmt-xlsx { background: #217346; } .fmt-pdf { background: #b30b00; }

/* Hilfeseite */
.hilfe { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.hilfe-toc { position: sticky; top: 4.5rem; max-height: calc(100vh - 10rem); overflow: auto; }
.hilfe-toc ul { list-style: none; padding-left: .8rem; margin: .4rem 0; font-size: .9rem; }
.hilfe-toc > .karte > .toc > ul { padding-left: 0; }
.hilfe-toc li { margin: .2rem 0; }
.hilfe-text { max-width: 980px; }
.hilfe-text h1 { margin-top: 0; }
.hilfe-text h2 { margin-top: 2rem; padding-top: .5rem; border-top: 1px solid var(--linie); }
.hilfe-text hr { display: none; }
.hilfe-text table { border-collapse: collapse; width: 100%; margin: .6rem 0 1rem; font-size: .92rem; display: block; overflow-x: auto; }
.hilfe-text th, .hilfe-text td { border: 1px solid var(--linie); padding: .35rem .55rem; text-align: left; vertical-align: top; }
.hilfe-text th { background: var(--bg); }
.hilfe-text .meine { background: var(--primaer-hell); }
.hilfe-text tr.meine td:first-child { box-shadow: inset 4px 0 0 var(--primaer); }
.hilfe-text pre { background: var(--bg); padding: .8rem; border-radius: 8px; overflow-x: auto; font-size: .8rem; }
.hilfe-text code { background: var(--bg); padding: 0 .25rem; border-radius: 4px; }
.hilfe-text pre code { background: none; padding: 0; }
.hilfe-rolle { background: var(--primaer-hell); border-radius: 8px; padding: .6rem .8rem; }
@media (max-width: 900px) { .hilfe { grid-template-columns: 1fr; } .hilfe-toc { position: static; max-height: none; } }
@media print { .hilfe { display: block; } .hilfe-text { box-shadow: none; max-width: none; } .hilfe-text .meine { background: none; } }

/* Mein Arbeitsplatz (V1) */
.arbeitsplatz { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.arbeitsplatz .breit { grid-column: span 1; }
.arbeitsplatz:has(> section:nth-child(3)) .breit { grid-column: span 1; }
.arbeitsplatz:not(:has(> section:nth-child(3))) .breit { grid-column: span 2; }
.aufgabe { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .45rem 0;
  border-top: 1px solid var(--linie); }
.aufgabe:first-of-type { border-top: 0; }
@media (max-width: 1000px) { .arbeitsplatz { grid-template-columns: 1fr; } .arbeitsplatz .breit { grid-column: auto !important; } }

/* Assistent «Konzept überprüfen» (V5): Felder je nach Ergebnis */
.ueberpruefung .wahl { display: block; padding: .3rem 0; }
.ueberpruefung:not(:has(input[name=ergebnis][value=angepasst]:checked)) .nur-angepasst,
.ueberpruefung:has(input[name=ergebnis][value=angepasst]:checked) .nicht-angepasst,
.ueberpruefung:not(:has(input[name=ergebnis][value=offen]:checked)) .nur-offen,
.ueberpruefung:has(input[name=ergebnis][value=offen]:checked) .nicht-offen,
.ueberpruefung:not(:has(input[name=ergebnis][value=keine]:checked)) .nur-keine,
.ueberpruefung:has(input[name=ergebnis][value=keine]:checked) .nicht-keine { display: none; }
.ueberpruefung .raster-4 { display: grid; grid-template-columns: 2fr 1.2fr .8fr 2fr; gap: .6rem; }
@media (max-width: 800px) { .ueberpruefung .raster-4 { grid-template-columns: 1fr; } }
