/* =====================================================================
   PAPERSIM ADMIN
   ===================================================================== */
body.adm { margin: 0; background: var(--ps-papier); font: 14.5px/1.5 var(--ps-schrift); color: var(--ps-text); }
.adm * { box-sizing: border-box; }
[hidden] { display: none !important; }

/* ---------- Kopf (wie die App: hell, Wortmarke, Reiter als Pillen) ---------- */
.adm-kopf { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 10px 20px; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--ps-linie); }
.adm-marke { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-size: 21px; }
.adm-marke-zusatz { padding: 3px 8px; border-radius: 6px; background: var(--ps-navy); color: #fff; font: 700 11px var(--ps-schrift); letter-spacing: .08em; text-transform: uppercase; }
.adm-nav { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px; background: var(--ps-papier); }
.adm-nav a { padding: 8px 14px; border-radius: 10px; color: var(--ps-grau); text-decoration: none; font: 600 14px var(--ps-schrift); }
.adm-nav a:hover { color: var(--ps-navy); }
.adm-nav a.aktiv { background: #fff; color: var(--ps-navy); box-shadow: 0 1px 3px rgba(14,33,53,.14); }
.adm-zahl { display: inline-block; min-width: 18px; margin-left: 3px; padding: 0 5px; border-radius: 9px; background: var(--ps-gelb); color: var(--ps-navy); font-size: 11px; text-align: center; }
.adm-wer { margin-left: auto; display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--ps-grau); }
.adm-experte { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; cursor: pointer; }

/* ---------- Grundlayout ---------- */
.adm-main { max-width: 1400px; margin: 0 auto; padding: 20px 18px 60px; }
.adm-laden { color: var(--ps-grau); }
.adm h1 { margin: 0 0 4px; font: 600 24px/1.25 var(--ps-schrift-titel); color: var(--ps-navy); }
.adm h2 { margin: 0 0 10px; font: 600 17px/1.3 var(--ps-schrift-titel); color: var(--ps-navy); }
.adm h3 { margin: 14px 0 6px; font-size: 14px; color: var(--ps-navy); }
.adm-unter { margin: 0 0 18px; color: var(--ps-grau); }
.karte { background: #fff; border: 1px solid var(--ps-linie); border-radius: 12px; padding: 16px; }
.raster { display: grid; gap: 14px; }
.raster.k4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.raster.k2 { grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); }
.kennzahl b { display: block; font: 600 30px/1.1 var(--ps-schrift-titel); color: var(--ps-navy); }
.kennzahl span { color: var(--ps-grau); font-size: 13px; }
.leise { color: var(--ps-grau); font-size: 13px; }
.zeile { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.zeile.ende { justify-content: flex-end; }
.zeile.zwischen { justify-content: space-between; }
.abstand { margin-top: 14px; }
.hinweis { padding: 10px 12px; border-radius: 10px; background: var(--ps-blau-hell); color: var(--ps-navy); font-size: 13.5px; }
.hinweis.warn { background: #fff4dc; color: #6b4a00; }

/* ---------- Formularfelder ---------- */
.f { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 12.5px; font-weight: 600; color: var(--ps-navy); }
.f small { font-weight: 400; color: var(--ps-grau); }
.f input:not([type=checkbox]), .f select, .f textarea, .adm-suche {
  width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;
  font: 14.5px var(--ps-schrift); color: var(--ps-navy);
}
.f textarea { min-height: 70px; resize: vertical; line-height: 1.45; }
.f textarea.code, textarea.code { font: 12.5px/1.45 var(--ps-schrift-mono, ui-monospace, Menlo, monospace); min-height: 160px; }
.f input:focus, .f select:focus, .f textarea:focus { outline: 2px solid var(--ps-blau); outline-offset: -1px; }
.f.fehlerhaft textarea, .f.fehlerhaft input { border-color: var(--ps-rot); background: #fff8f8; }
.fgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 12px; }
.fgrid .breit { grid-column: 1 / -1; }
.cb { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 400; cursor: pointer; }
.cb input { width: 17px; height: 17px; margin: 0; }

/* ---------- Status-Marken ---------- */
.marke { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.st-offen { background: #eef1f5; color: #4d5b6d; }
.st-teilweise { background: #fff1cc; color: #7a5300; }
.st-geprueft { background: #dff3e9; color: #1d6b49; }
.st-abgelehnt { background: var(--ps-rot-hell); color: #8a1f23; }
.st-inaktiv { background: #e9ecef; color: #6c757d; text-decoration: line-through; }
.balken { display: flex; height: 12px; border-radius: 6px; overflow: hidden; background: #eef1f5; }
.balken i { display: block; height: 100%; }

/* ---------- Tabellen ---------- */
.tab { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tab th { text-align: left; padding: 7px 8px; border-bottom: 2px solid var(--ps-linie); font-size: 12px; color: var(--ps-grau); font-weight: 600; }
.tab td { padding: 7px 8px; border-bottom: 1px solid var(--ps-linie); vertical-align: top; }
.tab tr:hover td { background: #fafcff; }
.tab .zahl { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- Konten ---------- */
.inst { margin-bottom: 14px; }
.inst.inaktiv { opacity: .65; }
.inst-kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.modulwahl { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 10px 12px; border-radius: 10px; background: var(--ps-papier); }
.modulwahl .paket { font-size: 11px; color: var(--ps-grau); }
.einmal { padding: 12px; border-radius: 10px; background: #e6f6ef; color: #1d6b49; }
.einmal code { display: inline-block; margin: 4px 0; padding: 4px 10px; border-radius: 6px; background: #fff; color: var(--ps-navy); font: 600 18px ui-monospace, Menlo, monospace; letter-spacing: .04em; user-select: all; }

/* ---------- Inhalte: Liste + Editor ---------- */
.inh { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 14px; align-items: start; }
@media (max-width: 900px) { .inh { grid-template-columns: 1fr; } }
.inh-liste { position: sticky; top: 70px; max-height: calc(100vh - 90px); display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.inh-filter { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-bottom: 1px solid var(--ps-linie); }
.typwahl { display: flex; flex-wrap: wrap; gap: 4px; }
.typwahl button { padding: 4px 9px; border: 1px solid var(--ps-linie); border-radius: 999px; background: #fff; color: var(--ps-text); font: 12.5px var(--ps-schrift); cursor: pointer; }
.typwahl button.aktiv { background: var(--ps-navy); border-color: var(--ps-navy); color: #fff; }
.inh-eintraege { overflow: auto; }
.inh-eintrag { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 8px 12px; border: 0; border-bottom: 1px solid #f0f3f7; background: #fff; text-align: left; font: 13.5px var(--ps-schrift); color: var(--ps-text); cursor: pointer; }
.inh-eintrag:hover { background: #f6f9fd; }
.inh-eintrag.aktiv { background: var(--ps-blau-hell); }
.inh-eintrag small { display: block; color: var(--ps-grau); font-size: 11.5px; }
.ed-kopf { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.ed-tabs { display: flex; gap: 4px; margin: 0 0 12px; border-bottom: 1px solid var(--ps-linie); }
.ed-tabs button { padding: 8px 12px; border: 0; border-bottom: 2px solid transparent; background: none; font: 600 13.5px var(--ps-schrift); color: var(--ps-grau); cursor: pointer; }
.ed-tabs button.aktiv { border-color: var(--ps-navy); color: var(--ps-navy); }
.ed-gruppe { margin: 0 0 12px; padding: 12px; border: 1px solid var(--ps-linie); border-radius: 10px; }
.ed-gruppe > legend { padding: 0 6px; font-size: 12.5px; font-weight: 700; color: var(--ps-navy); }
.liste-ed { display: flex; flex-direction: column; gap: 6px; }
.liste-ed .eintrag { display: flex; gap: 6px; align-items: flex-start; }
.liste-ed .eintrag > :first-child { flex: 1; }
.liste-ed .eintrag textarea, .liste-ed .eintrag input, .liste-ed .eintrag select { width: 100%; padding: 7px 9px; border: 1px solid #cbd5e1; border-radius: 8px; font: 14px var(--ps-schrift); }
.liste-ed .eintrag textarea { min-height: 54px; resize: vertical; }
.knopf-x { flex: none; width: 30px; height: 30px; border: 1px solid var(--ps-linie); border-radius: 7px; background: #fff; color: var(--ps-rot); cursor: pointer; font-size: 16px; line-height: 1; }
.chips { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; padding: 6px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; min-height: 40px; }
.chip-e { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 9px; border-radius: 999px; background: #eaf2fb; color: var(--ps-navy); font-size: 12.5px; font-weight: 400; }
.chip-e.alt { background: #fff1cc; }
.chip-e button { border: 0; background: none; color: #6b7a8c; cursor: pointer; font-size: 14px; padding: 0 3px; }
.chips input { flex: 1; min-width: 140px; border: 0 !important; padding: 4px !important; outline: none; font-size: 13.5px; }
.med-zeile { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 6px 8px; border: 1px solid var(--ps-linie); border-radius: 8px; background: #fbfcfe; }
.med-zeile .art { font-size: 11px; font-weight: 700; color: var(--ps-grau); text-transform: uppercase; letter-spacing: .04em; min-width: 62px; }
.pruef { display: flex; flex-direction: column; gap: 8px; }
.pruef-eintrag { padding: 8px 10px; border-radius: 8px; background: var(--ps-papier); font-size: 13px; }
.version { padding: 8px 10px; border-bottom: 1px solid var(--ps-linie); font-size: 13px; }
.diff-neu { background: #e6f6ef; }
.diff-alt { background: var(--ps-rot-hell); text-decoration: line-through; }

/* ---------- Verknüpfungsgrafik ---------- */
.gr { display: grid; grid-template-columns: 300px 1fr; gap: 14px; align-items: start; }
@media (max-width: 1000px) { .gr { grid-template-columns: 1fr; } }
.gr-links { position: sticky; top: 70px; max-height: calc(100vh - 90px); overflow: auto; }
.gr-buehne { overflow: auto; padding: 0; min-height: 420px; }
.gr-buehne svg { display: block; }
.gr-knoten { cursor: pointer; }
.gr-knoten rect { stroke-width: 1.5; }
.gr-knoten:hover rect { stroke-width: 2.5; }
.gr-knoten text { font: 12px var(--ps-schrift); fill: var(--ps-navy); pointer-events: none; }
.gr-knoten .typ { font-size: 9.5px; fill: #6b7a8c; letter-spacing: .05em; text-transform: uppercase; }
.gr-kante { fill: none; stroke: #9fb3c8; stroke-width: 1.4; }
.gr-kante.stark { stroke: var(--ps-blau-stark); stroke-width: 2.2; }
.gr-kante.neg { stroke: #d9777a; stroke-dasharray: 5 4; }
.gr-kante.code { stroke: #b0b7c1; stroke-dasharray: 2 4; }
.gr-label { font: 10.5px var(--ps-schrift); fill: #45566b; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.gr-spalte { font: 700 11px var(--ps-schrift); fill: #6b7a8c; letter-spacing: .08em; text-transform: uppercase; }
.gr-legende { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 10px 14px; border-bottom: 1px solid var(--ps-linie); font-size: 12px; color: var(--ps-grau); }
.gr-legende i { display: inline-block; width: 22px; height: 0; margin-right: 5px; vertical-align: middle; border-top: 2px solid #9fb3c8; }
.gr-legende i.neg { border-top: 2px dashed #d9777a; }
.gr-legende i.code { border-top: 2px dotted #b0b7c1; }
.gr-detail { margin-top: 12px; font-size: 13px; }
.gr-detail pre { max-height: 260px; overflow: auto; padding: 8px; border-radius: 8px; background: var(--ps-papier); font-size: 11.5px; white-space: pre-wrap; }
.schritt { display: grid; grid-template-columns: 110px 1fr; gap: 8px; padding: 7px 10px; border-left: 3px solid var(--ps-linie); margin-bottom: 4px; background: #fff; font-size: 13.5px; }
.schritt .art { font-size: 11px; font-weight: 700; color: var(--ps-grau); text-transform: uppercase; }
.schritt.regel { border-color: var(--ps-blau-stark); }
.schritt.allergie { border-color: var(--ps-rot); }
.schritt.klasse { border-color: var(--ps-gelb); }
.schritt.fehlt { border-color: var(--ps-rot); background: #fff8f8; }
.ergebnis-tab td:first-child { font-weight: 600; }

/* ---------- Meldungen & Nutzung ---------- */
.meldung { margin-bottom: 10px; }
.meldung.erledigt, .meldung.kein_fehler { opacity: .7; }
.meldung-text { margin: 8px 0; padding: 10px 12px; border-radius: 8px; background: var(--ps-papier); white-space: pre-wrap; }
.tage { display: grid; grid-auto-flow: column; grid-auto-columns: 14px; gap: 3px; }
.tage i { width: 14px; height: 14px; border-radius: 3px; background: #eef1f5; }
.tage i.l1 { background: #b9dcf7; } .tage i.l2 { background: #65adef; } .tage i.l3 { background: #1d6fc4; }
.wochen-ok { color: var(--ps-gruen); font-weight: 700; }
.wochen-nein { color: var(--ps-rot); font-weight: 700; }

/* ---------- Meldung unten (Toast) ---------- */
.toast { position: fixed; left: 50%; bottom: 22px; z-index: 2000; transform: translateX(-50%); padding: 10px 16px; border-radius: 10px; background: var(--ps-navy); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: 14px; }
.toast.fehler { background: var(--ps-rot); }

/* =====================================================================
   Inhalte: verständliche Formulare, Lesefassung, Prüfen
   ===================================================================== */
.knopf.gross { min-height: 54px; padding: 12px 22px; font-size: 16.5px; }
.typ-info { margin: 2px 0 0; font-size: 12.5px; line-height: 1.45; }
.leer-editor { padding: 10px 6px; font-size: 15px; }
.leer-editor ol { padding-left: 20px; line-height: 1.9; }
.ed-hilfe { margin: -4px 0 12px; font-size: 13.5px; }
.ed-speichern { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 16px -16px -16px; padding: 12px 16px; border-top: 1px solid var(--ps-linie); background: rgba(255,255,255,.96); border-radius: 0 0 12px 12px; }
.ed-speichern .adm-suche { flex: 1; min-width: 220px; }
.mit-einheit { display: flex; align-items: center; gap: 6px; }
.mit-einheit input { flex: 1; min-width: 0; }
.mit-einheit span { color: var(--ps-grau); font-weight: 400; }
.f input, .f select, .f textarea { min-height: 42px; }

/* Lesefassung */
.lesefassung { font-size: 15px; line-height: 1.55; }
.lese-abschnitt { padding: 12px 0; border-bottom: 1px solid var(--ps-linie); }
.lese-abschnitt:last-child { border-bottom: 0; }
.lese-abschnitt h3 { margin: 0 0 6px; font: 600 13px var(--ps-schrift); color: var(--ps-grau); text-transform: uppercase; letter-spacing: .06em; }
.lese-abschnitt ul, .lese-allg ul { margin: 0; padding-left: 20px; }
.lese-abschnitt li { margin: 3px 0; }
.lese-abschnitt p { margin: 4px 0; }
.lese-satz { font-size: 16.5px; line-height: 1.7; }
.lese-dl { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: 6px 16px; margin: 0; }
.lese-dl dt { color: var(--ps-grau); font-size: 13.5px; }
.lese-dl dd { margin: 0; }
.lese-dl .lese-dl { grid-column: auto; }
.abw { font-size: 13px; color: var(--ps-blau-stark); }
.warn-text { color: var(--ps-rot); font-weight: 600; }
.pruef-kasten { margin-top: 16px; padding: 16px; border-radius: 14px; background: var(--ps-papier); display: flex; flex-direction: column; gap: 10px; }
.pruef-kasten .ki summary { cursor: pointer; color: var(--ps-grau); font-size: 13.5px; }

/* Platzhalter und Vorschau */
.platzhalter { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: var(--ps-blau-hell); }
.chips-zeile { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ph { display: inline-flex; flex-direction: column; align-items: flex-start; padding: 5px 9px; border: 0; border-radius: 9px; background: #fff; color: var(--ps-navy); font: 600 13px ui-monospace, Menlo, monospace; cursor: pointer; box-shadow: inset 0 0 0 1px var(--ps-blau-mittel); }
.ph small { font: 400 11px var(--ps-schrift); color: var(--ps-grau); }
.ph:hover { box-shadow: inset 0 0 0 2px var(--ps-blau); }
.ed-vorschau { position: sticky; bottom: 64px; z-index: 4; margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: #fffdf3; box-shadow: 0 4px 18px rgba(14,33,53,.12); font-size: 14.5px; line-height: 1.5; }
.ed-vorschau mark { background: var(--ps-rot-hell); color: #8a1f23; }

/* Medikamente einer Erkrankung */
.med-zeile { flex-wrap: wrap; }
.med-info { flex-basis: 100%; padding-left: 70px; font-size: 12.5px; color: var(--ps-grau); }
.med-abw { flex-basis: 100%; padding-left: 70px; }
.med-abw summary { cursor: pointer; font-size: 13px; color: var(--ps-blau-stark); }
.med-abw .fgrid { margin-top: 8px; }

/* Laborwerte, Vitalwerte, Variablen, Diagnostik */
.lab-zeile { align-items: center !important; flex-wrap: wrap; }
.lab-zeile select[data-lab-param] { flex: 2 1 220px !important; }
.lab-zeile select[data-lab-art] { flex: 1 1 150px !important; }
.lab-zeile input { flex: 0 1 90px !important; width: 90px !important; }
.lab-zeile .einheit { min-width: 70px; color: var(--ps-grau); font-size: 13.5px; }
.liste-ed .eintrag > :first-child { flex: 1; }
.vital-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px 16px; }
.vital-zeile { display: grid; grid-template-columns: 120px 80px auto 80px auto; align-items: center; gap: 6px; font-weight: 400; color: var(--ps-navy); }
.vital-zeile input { width: 80px; padding: 7px 8px; border: 1px solid #cbd5e1; border-radius: 8px; font: 15px var(--ps-schrift); }
.vital-zeile small { color: var(--ps-grau); }
.var-zeile, .diag-zeile { padding: 10px; border-radius: 12px; background: #fbfcfe; box-shadow: inset 0 0 0 1px var(--ps-linie); }
.var-zeile .f:first-child { flex: 0 0 160px !important; }

/* Baukasten für Listen und Stammdaten */
.bk-obj { display: flex; flex-direction: column; gap: 8px; }
.bk-zeile { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 10px; align-items: start; }
.bk-zeile.komplex { grid-template-columns: 1fr; padding: 10px 12px; border-radius: 12px; background: #fbfcfe; box-shadow: inset 0 0 0 1px var(--ps-linie); }
.bk-zeile.dyn { grid-template-columns: 1fr auto; }
.bk-zeile.dyn > .bk-label { grid-column: 1 / -1; }
.bk-label { padding-top: 9px; font-size: 13px; color: var(--ps-grau); font-weight: 600; }
.bk-zeile.komplex > .bk-label { padding-top: 0; }
.bk-feld { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; font: 14.5px var(--ps-schrift); color: var(--ps-navy); background: #fff; }
.bk-feld.zahl { max-width: 120px; }
textarea.bk-feld { resize: vertical; line-height: 1.45; }
.bk-paar { display: inline-flex; align-items: center; gap: 6px; }
.bk-paar .bk-feld { width: 100px; }
.bk-liste { display: flex; flex-direction: column; gap: 6px; }
.bk-liste > .knopf { align-self: flex-start; }
.bk-eintrag { display: flex; gap: 6px; align-items: flex-start; }
.bk-eintrag > :first-child { flex: 1; }
.bk-liste.karten > .bk-eintrag { padding: 10px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--ps-linie); }
.bk-bool { min-height: 38px; }
.lab-zeile .lab-einfach, .lab-zeile .lab-geschlecht { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lab-zeile .lab-geschlecht { display: none; }
.lab-zeile[data-modus="geschlecht"] .lab-einfach { display: none; }
.lab-zeile[data-modus="geschlecht"] .lab-geschlecht { display: inline-flex; }

/* =====================================================================
   Startseite
   ===================================================================== */
.adm-held { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 8px 0 22px; padding: 28px; border-radius: 22px;
  background: radial-gradient(700px 300px at 90% -20%, rgba(101,173,239,.45), transparent 60%), var(--ps-navy); color: #fff; }
.adm-held .ps-eyebrow { color: var(--ps-blau); }
.adm-held .ps-eyebrow .ps-i { width: 16px; height: 16px; }
.adm-gruss { margin: 4px 0 6px !important; color: #fff !important; font-size: 34px !important; }
.adm-held .adm-unter { margin: 0; color: #b9c8da; }
.adm-uhr { font: 600 46px/1 var(--ps-schrift-titel); letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
.adm-heute { margin-bottom: 22px; }
.adm-heute h2 { margin: 0 0 12px; }
.adm-aufgaben { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.adm-aufgabe { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: var(--ps-schatten); color: var(--ps-text); text-decoration: none; }
.adm-aufgabe b { font: 600 30px/1 var(--ps-schrift-titel); color: var(--ps-gruen); }
.adm-aufgabe.offen b { color: var(--ps-navy); }
.adm-aufgabe span { font-size: 14px; line-height: 1.35; color: var(--ps-grau); }
.adm-aufgabe:hover { box-shadow: var(--ps-schatten-hoch); }
.adm-fortschritt { margin-top: 12px; padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: var(--ps-schatten); }
.adm-fortschritt .zeile { margin-bottom: 8px; color: var(--ps-navy); }
.adm-fortschritt .leise { display: block; margin-top: 8px; }
.adm-kacheln { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.adm-kachel { min-height: 160px; }
