/* FranziskusGPT-Verwaltung — Designsystem übernommen vom IKiM-Projekt-Dashboard */
:root{
  /* Stiftungsfarben (aus dem IKiM-Logo) */
  --blue:#003E77;        /* Stiftungsblau – Hauptfarbe */
  --blue-deep:#002C55;
  --blue-tint:#E4EDF6;
  --yellow:#FFD405;
  --yellow-ink:#8F7400;
  --yellow-tint:#FFF7D1;
  --green:#4DAF45;
  --green-ink:#2F7A29;
  --green-tint:#E7F5E5;
  --lightblue:#70CAF3;
  --purple:#A862A4;
  --red:#B2452F;
  --red-tint:#F9E9E5;
  --gray-ink:#5A6B70;
  --gray-tint:#ECEFF0;

  --bg:#F4F7FA;
  --surface:#FFFFFF;
  --ink:#17262B;
  --ink-soft:#5A6B70;
  --line:#DFE6EC;
  --radius:14px;
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}

/* Sanftes Einblenden beim Wechsel von Panels, Detailansichten und Schritten */
@keyframes einblenden{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;font-size:14px;color:var(--ink)}
input,select,textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;
}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{
  outline:2px solid var(--blue);outline-offset:2px;
}
input.unsicher{border-color:var(--yellow-ink);background:var(--yellow-tint)}
label{display:block;margin-bottom:11px;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-soft)}
label input,label select,label textarea{margin-top:4px;font-weight:400;letter-spacing:normal;text-transform:none}

/* ---------- Buttons (wie .btn im Dashboard) ---------- */
button, .btn{
  border:1px solid var(--line);background:var(--surface);
  border-radius:9px;padding:7px 13px;font-size:13px;font-weight:600;
  color:var(--ink);transition:border-color .15s,background .15s,color .15s;
}
button:hover{border-color:var(--blue);color:var(--blue)}
button.primaer{background:var(--blue);border-color:var(--blue);color:#fff}
button.primaer:hover{background:var(--blue-deep);color:#fff}
button:disabled{opacity:.55;cursor:wait}
button.gefahr{color:var(--red)}
button.gefahr:hover{border-color:var(--red)}

/* ---------- Kopfbereich (weiß, CI-Streifen in den vier Rautenfarben) ---------- */
header{
  background:var(--surface);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
header::before{
  content:"";display:block;height:4px;
  background:linear-gradient(90deg,
    var(--yellow) 0 25%, var(--green) 25% 50%,
    var(--lightblue) 50% 75%, var(--purple) 75% 100%);
}
.header-inner{
  max-width:1300px;margin:0 auto;padding:11px 24px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand .title-block{display:flex;flex-direction:column}
.brand h1{
  font-family:var(--font-display);
  font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--blue);line-height:1.2;
}
.brand .sub{font-size:11.5px;color:var(--ink-soft)}
.hauptnav{display:flex;gap:2px;align-self:stretch;align-items:stretch;margin-left:6px}
.hauptnav a{
  display:flex;align-items:center;padding:6px 14px;margin-bottom:-12px;
  font-size:13.5px;font-weight:600;color:var(--ink-soft);text-decoration:none;
  border-bottom:2px solid transparent;
}
.hauptnav a:hover{color:var(--blue)}
.hauptnav a.aktiv{color:var(--blue);border-bottom-color:var(--blue)}
.header-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
#jobstatus{font-size:11.5px;color:var(--ink-soft);max-width:340px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.role-label{
  font-size:12px;font-weight:600;background:var(--blue-tint);color:var(--blue);
  border-radius:999px;padding:5px 12px;white-space:nowrap;
}

/* ---------- Login ---------- */
.login-seite{display:grid;place-items:center;min-height:100vh;background:var(--bg)}
.login-box{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:0 0 26px;width:370px;overflow:hidden;
}
.login-box::before{
  content:"";display:block;height:4px;
  background:linear-gradient(90deg,
    var(--yellow) 0 25%, var(--green) 25% 50%,
    var(--lightblue) 50% 75%, var(--purple) 75% 100%);
}
.login-innen{padding:28px 30px 0}
.login-box h1{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--blue);margin:0 0 4px}
.login-box .sub{font-size:12px;color:var(--ink-soft);display:block;margin-bottom:20px}
.login-box button{width:100%;margin-top:8px;padding:10px}
.hinweis{font-size:12px;color:var(--ink-soft);margin-top:14px}
.login-fehler{background:var(--red-tint);color:var(--red);border-radius:8px;
  padding:8px 10px;font-size:13px;margin-bottom:10px}

/* ---------- Hauptbereich ---------- */
main{max-width:1300px;margin:0 auto;padding:40px 24px 72px;width:100%;flex:1}

/* Seitenkopf: Titel links, Aktion rechts */
.seiten-kopf{display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:24px}
.seiten-kopf h2{font-family:var(--font-display);font-size:22px;font-weight:700;
  color:var(--blue);margin:0 0 2px}
.untertitel{color:var(--ink-soft);font-size:13.5px;margin:0;max-width:74ch}
.btn-link{display:inline-block;text-decoration:none;border:1px solid var(--line);
  background:var(--surface);border-radius:9px;padding:8px 14px;font-size:13px;
  font-weight:600;color:var(--ink);transition:border-color .15s,color .15s,background .15s}
.btn-link:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-tint)}
.abschnitt{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--ink);
  margin:4px 0 10px}
.abschnitt-zusatz{font-family:var(--font-body);font-weight:500;color:var(--ink-soft);font-size:13px}
.karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;margin-bottom:16px}
.karte h4{font-family:var(--font-display);font-size:14.5px;color:var(--blue);margin:0 0 12px}
.karte-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hinweis-klein{font-size:12px;color:var(--ink-soft);margin-top:10px;line-height:1.5}
.panel{display:none}
.panel.active{display:block;animation:einblenden .18s ease-out}
code.klein{font-size:11px;background:var(--gray-tint);padding:1px 5px;border-radius:4px}

/* Übersichtsleiste — große Zahlen wie im Projekt-Dashboard */
.summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.summary .tile{
  flex:1 1 140px;min-width:0;text-align:left;display:block;font:inherit;cursor:pointer;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 18px;transition:border-color .12s,background .12s,box-shadow .12s,transform .06s;
}
.summary .tile:hover{border-color:var(--blue);background:var(--blue-tint)}
.summary .tile:active{transform:translateY(1px)}
.summary .tile.active{border-color:var(--blue);background:var(--blue-tint);box-shadow:inset 0 0 0 1px var(--blue)}
.summary .tile .num{transition:color .2s;
  font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.1;
  color:var(--blue);
}
.summary .tile .lbl{font-size:12.5px;color:var(--ink-soft);font-weight:500}
.summary .tile.t-antrag .num{color:var(--green-ink)}
.summary .tile.t-support .num{color:var(--purple)}
.summary .tile.t-unsicher .num{color:var(--red)}
.summary .tile.t-rueckfrage .num{color:var(--yellow-ink)}
.summary .tile.t-erledigt .num{color:var(--gray-ink)}

/* ---------- Warteschlange ---------- */
.inhalt-spalten{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start}
#liste-bereich{display:flex;flex-direction:column;min-height:0}
.filter{display:flex;gap:8px;margin-bottom:10px}
.filter select{flex:1}
.filter button{flex:0 0 auto}
#liste{
  list-style:none;padding:6px;overflow-y:auto;max-height:calc(100vh - 320px);min-height:200px;
  background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);
}
#liste li{
  display:flex;align-items:center;gap:10px;padding:11px 10px;
  border-radius:9px;cursor:pointer;border:1px solid transparent;
}
#liste li + li{margin-top:2px}
#liste li:hover{background:var(--blue-tint)}
#liste li.aktiv{background:var(--blue-tint);border-color:var(--blue)}
#liste li.leer-hinweis{color:var(--ink-soft);cursor:default;justify-content:center;padding:24px}
.betreff{font-weight:600;font-size:13.5px}
.unterzeile{font-size:12px;color:var(--ink-soft);margin-top:1px}

.typ-kennzeichen{
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  border-radius:999px;padding:3px 9px;flex:0 0 auto;
}
.typ-kennzeichen.antrag{background:var(--green-tint);color:var(--green-ink);border:1px solid var(--green)}
.typ-kennzeichen.support{background:#F3E9F2;color:var(--purple);border:1px solid var(--purple)}
.typ-kennzeichen.sonstiges{background:var(--gray-tint);color:var(--gray-ink);border:1px solid var(--line)}

.ampel{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.ampel.gruen{background:var(--green)}
.ampel.gelb{background:var(--yellow)}
.ampel.rot{background:var(--red)}
.ampel.grau{background:#B8C4CB}
.ampel-text.gruen{color:var(--green-ink);font-weight:700}
.ampel-text.gelb{color:var(--yellow-ink);font-weight:700}

/* Status-Badge im Detailkopf */
.status-badge{
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  border-radius:999px;padding:3px 9px;vertical-align:middle;
}
.status-badge.offen{background:var(--blue-tint);color:var(--blue)}
.status-badge.rueckfrage{background:var(--yellow-tint);color:var(--yellow-ink)}
.status-badge.erledigt{background:var(--green-tint);color:var(--green-ink)}
.status-badge.abgelehnt{background:var(--red-tint);color:var(--red)}

/* ---------- Detail ---------- */
#detail>*{animation:einblenden .18s ease-out}
#detail{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);
  padding:20px 22px}
#detail.leer{display:grid;place-items:center;min-height:300px}
.platzhalter{color:var(--ink-soft)}
.detail-kopf{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
.detail-kopf h2{font-family:var(--font-display);margin:0 0 4px;font-size:17px;color:var(--blue)}
.detail-kopf .meta{font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}
.typ-wechsel{font-size:13px;color:var(--ink-soft)}
.typ-wechsel select{width:auto;padding:5px 8px;margin-left:4px}
.detail-spalten{display:grid;grid-template-columns:1fr 390px;gap:20px;min-height:480px}
.pdf-rahmen{width:100%;height:100%;min-height:480px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg)}
.kollision{background:var(--red-tint);color:var(--red);border:1px solid var(--red);
  border-radius:8px;padding:9px 11px;margin-bottom:12px;font-size:13px}
.konfidenz-zeile{font-size:13px;margin-bottom:12px;color:var(--ink-soft)}
.upn-hinweis{display:block;margin-top:5px;font-size:12px;font-weight:400;
  letter-spacing:normal;text-transform:none;color:var(--yellow-ink)}
.upn-uebernehmen{padding:2px 8px;font-size:12px;font-family:Consolas,monospace}
.probleme{list-style:none;padding:10px 13px;margin:12px 0;background:var(--yellow-tint);
  border-radius:8px;font-size:13px;border:1px solid var(--yellow)}
.probleme:empty{display:none}
.probleme li{margin:2px 0}
.probleme li.ok{color:var(--green-ink);font-weight:600}
.probleme.gruen-rand{background:var(--green-tint);border-color:var(--green)}
.aktionen{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.rueckfrage-bereich{margin-top:12px}
.rueckfrage-bereich button{margin-top:8px}
.ergebnis{margin-top:14px;font-size:14px;font-weight:600}
.ergebnis.ok{color:var(--green-ink)}
.ergebnis.fehler{color:var(--red)}
.versteckt{display:none}

/* ---------- Überblick auf der Startseite ---------- */
.ueberblick{margin-bottom:28px}
.ueberblick-haupt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tile.gross{
  display:block;text-decoration:none;color:inherit;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;transition:border-color .12s,background .12s,transform .06s;
}
a.tile.gross:hover{border-color:var(--blue);background:var(--blue-tint)}
a.tile.gross:active{transform:translateY(1px)}
.tile.gross.statisch{cursor:default}
.tile.gross .num{font-family:var(--font-display);font-size:34px;font-weight:700;
  line-height:1.05;color:var(--blue)}
.tile.gross .lbl{font-size:13px;color:var(--ink-soft);font-weight:600;margin-top:2px}
.tile.gross .zusatz{font-size:12px;color:var(--ink-soft);margin-top:8px;
  padding-top:8px;border-top:1px solid var(--line);line-height:1.45}
.tile.gross.warnung{border-color:var(--yellow);background:var(--yellow-tint)}
.tile.gross.warnung .num{color:var(--yellow-ink)}
.systemzeile{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;
  margin-top:14px;font-size:12px;color:var(--ink-soft)}
.sys{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.sys.gruen{color:var(--green-ink)}
.sys.gelb{color:var(--yellow-ink)}
.sys.rot{color:var(--red);font-weight:600}
.sys.hinweis{white-space:normal;max-width:70ch}

.job-leiste{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--line)}
.job-meldung{font-size:12.5px;line-height:1.5}
.job-meldung.ok{color:var(--green-ink);font-weight:600}
.job-meldung.fehler{color:var(--red)}
.job-meldung details{margin-top:4px;font-weight:400}
.job-meldung summary{cursor:pointer;color:var(--ink-soft)}
.job-meldung pre{background:var(--gray-tint);border-radius:6px;padding:8px 10px;margin-top:5px;
  white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:11.5px;
  color:var(--ink);max-width:70ch}

.setup-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--yellow-tint);border:1px solid var(--yellow);border-radius:var(--radius);
  padding:14px 18px;margin-bottom:20px;font-size:13.5px;line-height:1.5;
}
.setup-banner b{color:var(--yellow-ink)}

/* ---------- Einrichtungsassistent ---------- */
.setup-haupt{max-width:1180px}
.setup-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.setup-fortschritt{position:sticky;top:96px}
.setup-fortschritt h2{font-family:var(--font-display);font-size:18px;color:var(--blue);margin-bottom:14px}
#schrittliste{list-style:none;counter-reset:schritt;display:flex;flex-direction:column;gap:2px}
#schrittliste li{
  display:flex;gap:11px;padding:10px 12px;border-radius:9px;cursor:pointer;
  font-size:13px;align-items:flex-start;border:1px solid transparent;
}
#schrittliste li:hover{background:var(--blue-tint)}
#schrittliste li.aktuell{background:var(--blue-tint);border-color:var(--blue)}
#schrittliste li b{display:block;font-weight:600;color:var(--ink)}
#schrittliste li .zusatz{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:1px;line-height:1.4}
#schrittliste .haken{
  flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;font-weight:700;border:1.5px solid var(--line);color:var(--ink-soft);margin-top:1px;
}
#schrittliste li.erledigt .haken{background:var(--green);border-color:var(--green);color:#fff}
#schrittliste li.offen .haken{border-color:var(--blue);border-style:dashed}
#schrittliste li.optional .haken{color:var(--ink-soft)}

.setup-inhalt .setup-schritt{display:none}
.setup-inhalt .setup-schritt.aktiv{display:block;animation:einblenden .2s ease-out}
.setup-schritt h3{font-family:var(--font-display);font-size:18px;color:var(--blue);margin-bottom:6px}
.setup-schritt .untertitel{margin-bottom:16px}
.setup-schritt .optional{font-family:var(--font-body);font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;background:var(--gray-tint);color:var(--gray-ink);
  border-radius:999px;padding:3px 9px;vertical-align:middle;margin-left:6px}
.feld-reihe.drei{grid-template-columns:1fr 1fr 1fr}
.anleitung{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;margin-bottom:16px;font-size:13px}
.anleitung summary{cursor:pointer;font-weight:600;color:var(--blue);padding:2px 0}
.anleitung summary:hover{color:var(--blue-deep)}
.anleitung ol,.anleitung ul{margin:8px 0 2px 18px;display:flex;flex-direction:column;
  gap:6px;line-height:1.55}
.anleitung code{background:var(--surface);border:1px solid var(--line);border-radius:4px;
  padding:1px 5px;font-size:12px;white-space:nowrap}
.anleitung-vorwort{margin:10px 0 4px;color:var(--ink-soft);line-height:1.55}
.anleitung-block{background:var(--surface);border:1px solid var(--line);border-radius:9px;
  padding:11px 14px;margin-top:10px}
.anleitung-block h5{font-family:var(--font-display);font-size:13px;color:var(--blue);
  margin-bottom:6px;letter-spacing:.01em}
.anleitung-block p{line-height:1.55}
.anleitung-block b{color:var(--ink)}
.beiseite{display:block;color:var(--ink-soft);font-size:12px;margin-top:2px}
.anleitung-merken{margin-top:8px;padding:7px 10px;background:var(--yellow-tint);
  border-radius:7px;font-size:12.5px;color:var(--yellow-ink)}
.perm-liste{list-style:none;margin-left:0 !important}
.perm-liste li{padding-left:0}
.entscheidung{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;margin:16px 0}
.entscheidung p{margin-bottom:10px;font-size:13.5px}
.radio-zeile{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;
  font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ink);cursor:pointer}
.radio-zeile input{width:auto;margin-top:3px;flex:none}
.radio-zeile code{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:12px}
.warnung-kasten{background:var(--yellow-tint);border:1px solid var(--yellow);border-radius:9px;
  padding:12px 14px;margin-bottom:14px;font-size:12.5px;line-height:1.55}
.warnung-kasten code{background:var(--surface);border-radius:4px;padding:1px 5px}
.testergebnis{margin-top:14px;font-size:13px;line-height:1.55}
.testergebnis.ok{color:var(--green-ink)}
.testergebnis.fehler{color:var(--red)}
.pruefzeile{padding:8px 0;border-bottom:1px solid var(--line)}
.pruefzeile:last-child{border-bottom:none}
.pruefzeile.ok{color:var(--green-ink)}
.pruefzeile.fehler{color:var(--red)}
.pruefzeile.hinweis{color:var(--ink-soft)}
.pruef-kopf{font-weight:700;margin-bottom:6px}
.pruef-titel{font-weight:600}
.pruef-info{color:var(--ink);margin-top:3px;line-height:1.55;font-weight:400}
.pruefzeile.ok .pruef-info{color:var(--ink-soft)}
.pruef-hinweis{color:var(--ink-soft);margin-top:4px;font-size:12.5px;line-height:1.5}
.pruef-roh{margin-top:6px;font-size:12px}
.pruef-roh summary{cursor:pointer;color:var(--ink-soft)}
.pruef-roh pre{background:var(--gray-tint);border-radius:6px;padding:8px 10px;margin-top:5px;
  white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:11.5px;
  color:var(--ink)}
.anleitung-block.gleiches{border-left:3px solid var(--green)}
.anleitung-block.getrennt{border-left:3px solid var(--blue)}
.anleitung-kernsatz{background:var(--blue-tint);border-radius:8px;padding:10px 12px;
  margin-bottom:10px;line-height:1.6}
.anleitung-schritte{margin-top:8px}
.anleitung-schritte li{padding-bottom:2px}
.werte-tabelle{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px}
.werte-tabelle th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink-soft);padding:6px 10px 6px 0;
  border-bottom:1px solid var(--line)}
.werte-tabelle td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);
  vertical-align:top;line-height:1.5}
.werte-tabelle tr:last-child td{border-bottom:none}
.werte-tabelle td:first-child{white-space:nowrap;color:var(--blue)}
.werte-tabelle code{white-space:normal;word-break:break-all}
.erledigt-hinweis{background:var(--green-tint);border:1px solid var(--green);border-radius:9px;
  padding:11px 13px;font-size:13px;color:var(--green-ink)}
.erledigt-hinweis a{color:var(--green-ink)}
.job-karte{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:13px 15px;margin-bottom:12px}
.job-karte.dringend{background:var(--yellow-tint);border-color:var(--yellow)}
.job-karte h4{font-family:var(--font-display);font-size:14px;margin-bottom:4px;color:var(--ink)}
.job-karte p{font-size:12.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:8px}
.setup-schritt pre{background:var(--ink);color:#E8EEF2;border-radius:8px;padding:10px 13px;
  font-size:12.5px;overflow-x:auto;margin:0}
.setup-schritt pre code{font-family:Consolas,monospace}
.abschluss-liste{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.abschluss-liste li{font-size:13.5px;line-height:1.55;padding-left:20px;position:relative}
.abschluss-liste li::before{content:"→";position:absolute;left:0;color:var(--blue);font-weight:700}
.btn-link.primaer-link{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-link.primaer-link:hover{background:var(--blue-deep);color:#fff}

/* Unterschriftsbefund — Hinweis, kein Ausschlusskriterium (Briefing 4.4) */
.unterschrift-zeile{border-radius:9px;padding:10px 12px;margin-bottom:12px;font-size:12.5px;
  line-height:1.5;border:1px solid}
.unterschrift-zeile.ok{background:var(--green-tint);border-color:var(--green);color:var(--green-ink)}
.unterschrift-zeile.fehlt{background:var(--red-tint);border-color:var(--red);color:var(--red)}
.unterschrift-zeile.unklar{background:var(--bg);border-color:var(--line);color:var(--ink-soft)}
.us-titel{font-weight:700;margin-bottom:3px}
.us-grund{color:inherit}
.us-hinweis{margin-top:5px;opacity:.85}

/* Mailentwurf vor dem Versand */
.mailentwurf-bereich{margin-top:12px;padding:14px;background:var(--bg);
  border:1px solid var(--line);border-radius:10px;animation:einblenden .18s ease-out}
.mailentwurf-bereich .mail-text{font-family:Consolas,monospace;font-size:12.5px;line-height:1.6}
.platzhalter-hinweis{display:block;margin-top:4px;color:var(--yellow-ink)}

/* ---------- Support-Triage ---------- */
.support-spalten{display:grid;grid-template-columns:1fr 1.15fr;gap:18px;align-items:start}
.support-links,.support-rechts{display:flex;flex-direction:column;gap:14px}
.karte-innen{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.karte-innen h4{font-family:var(--font-display);font-size:13.5px;color:var(--blue);margin-bottom:10px}
.anfrage-text{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;
  max-height:280px;overflow-y:auto;color:var(--ink)}
.klassen-schild{display:inline-block;margin-left:10px;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:3px 10px}
.klassen-schild.klasse-a{background:var(--green-tint);color:var(--green-ink);border:1px solid var(--green)}
.klassen-schild.klasse-b{background:var(--red-tint);color:var(--red);border:1px solid var(--red)}
.kategorie-select{width:auto;padding:4px 8px}

.kontext-karte .dl-zeile{grid-template-columns:46% 1fr;font-size:12.5px}
.kontext-karte .dl-zeile.auffaellig b{color:var(--red)}
.kontext-warnung{background:var(--red-tint);color:var(--red);border-radius:8px;padding:10px 12px;
  font-size:12.5px;line-height:1.5}
.absender-pruefung{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12.5px;
  line-height:1.45}
.absender-pruefung.ok{background:var(--green-tint);color:var(--green-ink)}
.absender-pruefung.warnung{background:var(--yellow-tint);color:var(--yellow-ink);font-weight:600}
.frueher-liste{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.frueher-liste li span{color:var(--ink-soft);margin-right:6px;font-variant-numeric:tabular-nums}
.frueher-liste li i{color:var(--ink-soft)}

.pruefliste-karte{background:var(--red-tint);border:1px solid var(--red);border-radius:10px;
  padding:14px 16px}
.pruefliste-karte h4{font-family:var(--font-display);font-size:13.5px;color:var(--red);margin-bottom:8px}
.pruefliste-karte .bereich-hinweis{color:var(--red);opacity:.92}
.pruefliste{list-style:none;display:flex;flex-direction:column;gap:10px;margin:12px 0}
.pruefliste li{background:var(--surface);border-radius:8px;padding:10px 12px}
.pruefliste .ankreuz{margin-bottom:0;align-items:flex-start}
.pruefliste .ankreuz input{margin-top:2px}
.schritt-bestaetigt{font-size:11.5px;color:var(--green-ink);margin-top:5px;margin-left:26px}
.konto-aktionen{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.reset-ergebnis{font-size:12.5px;font-weight:600}
.reset-ergebnis.ok{color:var(--green-ink)}
.reset-ergebnis.fehler{color:var(--red)}

.vorschlaege-karte{background:var(--surface);border:1px solid var(--line);border-radius:10px;
  padding:14px 16px}
.vorschlaege-karte h4{font-family:var(--font-display);font-size:13.5px;color:var(--blue);margin-bottom:10px}
.vorschlaege-liste{display:flex;flex-direction:column;gap:10px}
.vorschlag{border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:var(--bg)}
.vorschlag-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  margin-bottom:6px;flex-wrap:wrap}
.vorschlag-kopf b{font-size:13px}
.vorschlag-quelle{font-size:11px;color:var(--ink-soft);white-space:nowrap}
.vorschlag-text{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:8px;
  white-space:pre-wrap}
.vorschlag button{padding:4px 12px;font-size:12px}
.support-text{font-family:inherit;font-size:13px;line-height:1.6}

@media (max-width:1400px){
  .support-spalten{grid-template-columns:1fr}
}

/* ---------- Aktionsbereiche in der Warteschlange ---------- */
.bereich-hinweis{font-size:12.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:10px}
.bereich-hinweis.warnend{background:var(--red-tint);color:var(--red);border-radius:8px;
  padding:10px 12px}
.schliessen-bereich,.loeschen-bereich{margin-top:12px;padding:14px;background:var(--bg);
  border:1px solid var(--line);border-radius:10px;animation:einblenden .18s ease-out}
.schliessen-bereich select,.schliessen-bereich input{margin-bottom:8px}
.ankreuz{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:400;
  text-transform:none;letter-spacing:normal;color:var(--ink);margin-bottom:10px;cursor:pointer}
.ankreuz input{width:auto;margin:0;flex:none}
.loeschen-bereich button{margin-right:8px}

.kopf-knoepfe{display:flex;gap:6px;flex-wrap:wrap}
.sig-mailliste{display:flex;flex-direction:column;gap:6px}
.sig-mail{text-align:left;width:100%;padding:10px 12px;background:var(--surface);
  border:1px solid var(--line);border-radius:9px;cursor:pointer}
.sig-mail:hover{border-color:var(--blue);background:var(--blue-tint)}
.sig-mail b{display:block;font-size:13.5px;font-weight:600}
.sig-mail span{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px}

/* ---------- Mailvorschau ---------- */
.vorschau-huelle{position:fixed;inset:0;background:rgba(23,38,43,.45);z-index:100;
  display:grid;place-items:center;padding:24px;animation:einblenden .15s ease-out}
.vorschau-kasten{background:var(--surface);border-radius:var(--radius);width:min(760px,100%);
  max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
.vorschau-kopf{display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--line)}
.vorschau-kopf b{font-family:var(--font-display);color:var(--blue);font-size:15px}
.vorschau-kopf select{width:auto;margin-left:auto}
.vorschau-hinweis{padding:9px 18px;font-size:12.5px;color:var(--ink-soft);
  background:var(--bg);border-bottom:1px solid var(--line)}
.vorschau-hinweis.ok{color:var(--green-ink)}
.vorschau-inhalt{overflow-y:auto;padding:18px;flex:1}
.vorschau-rahmen{width:100%;min-height:460px;border:1px solid var(--line);border-radius:8px;
  background:#fff}
.vorschau-text{white-space:pre-wrap;font-family:Consolas,monospace;font-size:12.5px;
  line-height:1.6;color:var(--ink)}

/* ---------- Tabellen ---------- */
.tabellen-karte{padding:0;overflow:hidden}
.datentabelle{width:100%;border-collapse:collapse;font-size:13.5px}
.datentabelle th{
  text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft);padding:10px 14px;border-bottom:1px solid var(--line);
  background:var(--bg);position:sticky;top:0;z-index:1;
}
.datentabelle td{padding:9px 14px;border-bottom:1px solid var(--line)}
.datentabelle tbody tr:last-child td{border-bottom:none}
.datentabelle th.num, .datentabelle td.num{text-align:right;font-variant-numeric:tabular-nums}
.datentabelle tfoot td{padding:10px 14px;border-top:2px solid var(--line);font-weight:700;
  background:var(--bg);font-variant-numeric:tabular-nums}
.datentabelle tfoot td.num{text-align:right}
.datentabelle .leer-hinweis{color:var(--ink-soft);text-align:center;padding:26px}
.eingabe-tabelle input{padding:5px 8px;font-size:13px}
.eingabe-tabelle td{padding:5px 10px}
.eingabe-tabelle td.num input{text-align:right}

/* ---------- Nutzerverwaltung ---------- */
.filterleiste{display:grid;grid-template-columns:2fr 1.3fr 1fr .8fr;gap:10px;
  padding:14px 16px;margin-bottom:16px}
.nutzer-spalten{display:grid;grid-template-columns:1fr 420px;gap:16px;align-items:start}
.nutzer-spalten .tabellen-karte{max-height:calc(100vh - 330px);overflow-y:auto}
.datentabelle tbody tr{cursor:pointer}
.datentabelle tbody tr:hover{background:var(--blue-tint)}
.datentabelle tbody tr.aktiv{background:var(--blue-tint);box-shadow:inset 3px 0 0 var(--blue)}
.datentabelle tbody tr.inaktiv{opacity:.5}
.t-name{font-weight:600}
.t-upn{font-size:12.5px;color:var(--ink-soft)}
.herkunft{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  border-radius:999px;padding:2px 8px;white-space:nowrap}
.herkunft.alt{background:var(--gray-tint);color:var(--gray-ink)}
.herkunft.neu{background:var(--green-tint);color:var(--green-ink)}
.tabellen-fuss{font-size:12px;color:var(--ink-soft);padding:10px 14px;border-top:1px solid var(--line);margin:0}
.nutzer-detail{position:sticky;top:96px;max-height:calc(100vh - 130px);overflow-y:auto}
.nutzer-detail.leer{display:grid;place-items:center;min-height:220px}
.nutzer-detail h3{font-family:var(--font-display);font-size:17px;color:var(--blue);margin:0 0 14px}
.nutzer-detail h4{font-family:var(--font-display);font-size:13px;color:var(--ink);
  margin:18px 0 8px;padding-top:12px;border-top:1px solid var(--line)}
.detail-block{display:flex;flex-direction:column;gap:6px}
.dl-zeile{display:grid;grid-template-columns:44% 1fr;gap:10px;font-size:13px;align-items:baseline}
.dl-zeile span{color:var(--ink-soft)}
.dl-zeile b{font-weight:600;word-break:break-word}
.kein-passwort{font-size:12px;color:var(--ink-soft);background:var(--bg);border-radius:8px;
  padding:9px 11px;margin-top:12px;line-height:1.5}
.historie{list-style:none;font-size:12.5px;display:flex;flex-direction:column;gap:5px}
.historie li span{color:var(--ink-soft);margin-right:6px;font-variant-numeric:tabular-nums}
.historie li i{color:var(--ink-soft)}

/* Kennzahlen-Kacheln ohne Klickfunktion */
.summary .tile.statisch{cursor:default}
.summary .tile.statisch:hover{border-color:var(--line);background:var(--surface)}
.summary .tile.statisch:active{transform:none}
.summary.schmal .tile .num{font-size:24px}
.feld-reihe{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.feld-reihe.vier{grid-template-columns:1fr 1.4fr .9fr 1.2fr}
.feld-reihe label{margin-bottom:0}
.zeilen-aktionen{display:flex;gap:6px;flex-wrap:wrap}
.zeilen-aktionen button{padding:4px 10px;font-size:12px}
#bearbeiter-tabelle td{vertical-align:middle}
#bearbeiter-tabelle select{width:auto;padding:4px 8px;font-size:12.5px}
#bearbeiter-tabelle tbody tr{cursor:default}
#bearbeiter-tabelle tbody tr:hover{background:transparent}
.feld-knopf{padding-bottom:1px}
.status{font-size:13px;font-weight:600;margin-left:10px}
.status.ok{color:var(--green-ink)}
.status.fehler{color:var(--red)}

/* ---------- Einstellungen: Seitenmenü statt Scrollen (mnav wie im Dashboard) ---------- */
.einstellungen-haupt{max-width:1060px}
.einstellungen-haupt h2{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--blue);margin:4px 0 2px}
.einstellungen-haupt .untertitel{color:var(--ink-soft);font-size:13.5px;margin-bottom:16px}
.mnav-layout{display:flex;gap:18px;align-items:flex-start;margin-top:14px}
.mnav{
  flex:none;width:210px;display:flex;flex-direction:column;gap:2px;
  border-right:1px solid var(--line);padding-right:12px;
  position:sticky;top:76px;
}
.mnav button{
  text-align:left;background:none;border:none;border-radius:8px;width:100%;
  padding:9px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-soft);
  cursor:pointer;transition:background .12s,color .12s;display:flex;align-items:center;gap:9px;
}
.mnav button:hover{background:var(--blue-tint);color:var(--blue)}
.mnav button.active{background:var(--blue);color:#fff}
.mnav .mnav-badge{
  margin-left:auto;font-size:11px;font-weight:700;background:var(--blue-tint);
  color:var(--blue);border-radius:999px;padding:1px 7px;
}
.mnav button.active .mnav-badge{background:rgba(255,255,255,.28);color:#fff}
.mnav-body{flex:1;min-width:0}
.gruppe-karte{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;display:none;
}
.gruppe-karte.active{display:block;animation:einblenden .18s ease-out}
.gruppe-kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.gruppe-kopf h3{font-family:var(--font-display);margin:0;font-size:15.5px;color:var(--blue)}
.feld-hilfe{font-weight:400;color:var(--ink-soft);font-size:12px;margin-top:3px;
  letter-spacing:normal;text-transform:none}
.feld-quelle{font-weight:600;font-size:10.5px;color:var(--green-ink);margin-left:6px}
textarea.vorlage{font-family:Consolas,monospace;font-size:13px;min-height:200px}
.speicher-leiste{
  position:sticky;bottom:0;margin-top:14px;padding:12px 0;
  background:linear-gradient(to top, var(--bg) 75%, transparent);
  display:flex;align-items:center;gap:14px;
}
.speicher-leiste .status{font-size:13.5px;font-weight:600}
.speicher-leiste .status.ok{color:var(--green-ink)}
.speicher-leiste .status.fehler{color:var(--red)}
.test-ergebnis{font-size:12.5px;margin-left:10px}
.test-ergebnis.ok{color:var(--green-ink)}
.test-ergebnis.fehler{color:var(--red)}

@media (max-width:1100px){
  main{padding-top:28px}
  .inhalt-spalten{grid-template-columns:1fr}
  .detail-spalten{grid-template-columns:1fr}
  .nutzer-spalten{grid-template-columns:1fr}
  .nutzer-detail{position:static;max-height:none}
  .filterleiste{grid-template-columns:1fr 1fr}
  #liste{max-height:340px}
  #jobstatus{display:none}
  .mnav-layout{flex-direction:column}
  .mnav{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;position:static;
    border-bottom:1px solid var(--line);padding:0 0 10px}
  .feld-reihe{grid-template-columns:1fr}
}

.feld-reihe.fuenf{grid-template-columns:1.3fr 1fr 1fr .6fr 1fr}
#preise-tabelle td:last-child,#pr-treffer td:last-child{white-space:nowrap}
#pr-treffer{margin-top:12px;max-height:420px;overflow-y:auto}
#pr-treffer table{font-size:12.5px}

/* ---------- Dialoge im Stil der Anwendung ---------- */
.dialog-huelle{position:fixed;inset:0;background:rgba(23,38,43,.45);z-index:200;
  display:grid;place-items:center;padding:24px;animation:einblenden .12s ease-out}
.dialog-huelle.dialog-zu{opacity:0;transition:opacity .12s}
.dialog-kasten{background:var(--surface);border-radius:var(--radius);width:min(460px,100%);
  overflow:hidden;box-shadow:0 18px 48px rgba(0,44,85,.28);
  animation:dialogAuf .16s cubic-bezier(.2,.9,.3,1)}
@keyframes dialogAuf{from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:none}}
.dialog-kasten::before{content:"";display:block;height:3px;
  background:linear-gradient(90deg,var(--yellow) 0 25%,var(--green) 25% 50%,
    var(--lightblue) 50% 75%,var(--purple) 75% 100%)}
.dialog-kopf{padding:16px 20px 0}
.dialog-kopf b{font-family:var(--font-display);font-size:16px;color:var(--blue)}
.dialog-inhalt{padding:12px 20px 4px}
.dialog-inhalt p{font-size:13.5px;line-height:1.55;margin-bottom:10px;color:var(--ink)}
.dialog-inhalt label{margin-top:6px}
.dialog-fehler{background:var(--red-tint);color:var(--red);border-radius:8px;
  padding:8px 10px;font-size:12.5px;margin:4px 0 10px}
.dialog-fuss{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px}

/* ---------- Mein Konto ---------- */
.konto-haupt{max-width:920px}
.pflicht-banner{background:var(--yellow-tint);border:1px solid var(--yellow);
  border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;font-size:13.5px;
  line-height:1.55;color:var(--yellow-ink);font-weight:600}
.hauptnav.gesperrt a:not(.aktiv){opacity:.4;pointer-events:none}
.einrichtung-kasten{margin-top:14px;padding:16px;background:var(--bg);
  border:1px solid var(--line);border-radius:10px;animation:einblenden .18s ease-out}
.einrichtung-spalten{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}
.einrichtung-spalten b{display:block;font-size:13px;color:var(--blue);margin-bottom:8px}
.qr-feld{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;
  display:inline-block;line-height:0}
.qr-feld svg{display:block;width:200px;height:200px}
.secret-anzeige{display:block;font-family:Consolas,monospace;font-size:13px;
  background:var(--surface);border:1px solid var(--line);border-radius:6px;
  padding:8px 10px;letter-spacing:.06em;word-break:break-all}
.codes-liste{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;margin:14px 0}
.codes-liste li{font-family:Consolas,monospace;font-size:15px;letter-spacing:.08em;
  background:var(--bg);border:1px solid var(--line);border-radius:8px;
  padding:10px 12px;text-align:center}
@media (max-width:760px){ .einrichtung-spalten{grid-template-columns:1fr} }
@media print{
  header,.seiten-kopf,.pflicht-banner,.aktionen,.karte:not(#codes-karte){display:none}
  #codes-karte{border:none}
}
