#leitfaedenBox { color: var(--vm-text); }
.lf-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.lf-hero h2 { margin:0; }
.lf-hero p { position:relative; z-index:1; max-width:72ch; margin:7px 0 0; color:rgba(255,255,255,.86); }
.lf-neu, .lf-kopf-aktionen button, .lf-abschnitt-kopf button, .lf-teilkopf button {
  min-height:42px; padding:9px 14px; border:1px solid var(--vm-border); border-radius:10px;
  color:var(--vm-text); background:var(--vm-surface); font:inherit; font-weight:750; cursor:pointer;
}
.lf-neu { position:relative; z-index:1; border-color:rgba(255,255,255,.65); color:#07382f; background:#fff; }
.lf-snapshot-hinweis { margin:14px 0; padding:13px 15px; border:1px solid #9fcfc3; border-radius:12px; color:var(--vm-text); background:color-mix(in srgb,var(--vm-primary) 8%,var(--vm-surface)); font-size:13px; line-height:1.5; }
.lf-layout { display:grid; grid-template-columns:minmax(250px,310px) minmax(0,1fr); gap:16px; align-items:start; }
.lf-seite { position:sticky; top:14px; padding:13px; border:1px solid var(--vm-border); border-radius:14px; background:var(--vm-surface); box-shadow:var(--vm-card-shadow); }
.lf-suche { display:grid; gap:5px; }
.lf-suche span, .lf-editor label>span, .lf-rich-label { color:var(--vm-muted); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.lf-suche input, .lf-editor input, .lf-editor select, .lf-editor textarea {
  width:100%; min-width:0; box-sizing:border-box; padding:10px 11px; border:1px solid var(--vm-border); border-radius:9px;
  color:var(--vm-text); background:var(--vm-surface); font:inherit; font-size:14px;
}
.lf-editor input:focus, .lf-editor select:focus, .lf-editor textarea:focus, .lf-suche input:focus {
  border-color:var(--vm-primary); outline:3px solid color-mix(in srgb,var(--vm-primary) 23%,transparent);
}
.lf-archiv { display:flex; align-items:center; gap:8px; margin:11px 2px; color:var(--vm-muted); font-size:12px; }
.lf-liste { display:grid; gap:7px; max-height:70dvh; overflow:auto; }
.lf-listeneintrag { display:grid; gap:5px; width:100%; padding:11px; border:1px solid var(--vm-border); border-radius:10px; text-align:left; color:var(--vm-text); background:var(--vm-surface-3); cursor:pointer; }
.lf-listeneintrag:hover { border-color:var(--vm-primary); }
.lf-listeneintrag.an { border-color:var(--vm-primary); background:color-mix(in srgb,var(--vm-primary) 11%,var(--vm-surface)); box-shadow:inset 3px 0 var(--vm-primary); }
.lf-listeneintrag.archiviert { opacity:.58; }
.lf-listen-kopf { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.lf-listeneintrag strong { font-size:13px; }
.lf-listeneintrag>span:last-child { color:var(--vm-muted); font-size:11px; }
.lf-listeneintrag em, .lf-standard { padding:2px 7px; border-radius:20px; color:#fff; background:var(--vm-primary); font-size:9px; font-style:normal; font-weight:850; text-transform:uppercase; }
.lf-editor { min-width:0; }
.lf-editor-kopf { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; padding:16px; border:1px solid var(--vm-border); border-radius:14px; background:var(--vm-surface); }
.lf-editor-kopf h3 { margin:3px 0; font-size:22px; }
.lf-editor-kopf p { margin:0; color:var(--vm-muted); font-size:12px; }
.lf-kicker { color:var(--vm-primary); font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.lf-kopf-aktionen { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.lf-kopf-aktionen .lf-speichern { border-color:var(--vm-primary); color:#fff; background:var(--vm-primary); }
.lf-block { margin-bottom:12px; padding:15px; border:1px solid var(--vm-border); border-radius:14px; background:var(--vm-surface); box-shadow:var(--vm-card-shadow); }
.lf-block>h4, .lf-abschnitt-kopf h4 { margin:0 0 11px; font-size:16px; }
.lf-form-grid, .lf-zwei { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.lf-editor label { display:grid; gap:5px; min-width:0; }
.lf-voll { grid-column:1/-1; }
.lf-check { display:flex!important; align-items:center; gap:8px; color:var(--vm-text); font-size:12px; font-weight:700; }
.lf-check input { width:auto; min-width:17px; height:17px; padding:0; }
.lf-einstellungen { grid-template-columns:repeat(4,minmax(120px,1fr)); }
.lf-platzhalter div { display:flex; gap:6px; flex-wrap:wrap; }
.lf-platzhalter code { padding:4px 8px; border:1px solid var(--vm-border); border-radius:7px; color:var(--vm-primary-strong); background:var(--vm-surface-3); font-size:12px; }
.lf-platzhalter p { margin:9px 0 0; color:var(--vm-muted); font-size:12px; }
.lf-abschnitt-kopf, .lf-teilkopf { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lf-abschnitt-kopf p { margin:-7px 0 12px; color:var(--vm-muted); font-size:12px; }
.lf-abschnitt-kopf button, .lf-teilkopf button { min-height:36px; padding:7px 11px; font-size:12px; }
/* Phasen/Einwaende als Akkordeon: zugeklappt eine ruhige Zeile, offen der Editor.
   Zugeklappte Karten bleiben im DOM (display:none), damit sammle() sie findet. */
.lf-phase, .lf-einwand { margin-top:8px; border:1px solid var(--vm-border); border-radius:12px; background:var(--vm-surface-3); overflow:hidden; }
.lf-phase.offen, .lf-einwand.offen { border-color:color-mix(in srgb,var(--vm-accent) 55%,var(--vm-border)); box-shadow:0 1px 10px rgba(0,0,0,.06); }
.lf-karten-zeile { display:flex; align-items:stretch; }
.lf-karten-kopf { display:flex; flex:1 1 auto; min-width:0; align-items:center; gap:10px; padding:11px 13px; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.lf-karten-kopf:hover { background:var(--vm-surface); }
.lf-phase.offen>.lf-karten-zeile, .lf-einwand.offen>.lf-karten-zeile { border-bottom:1px solid var(--vm-border); }
/* Griff zum Umsortieren per Ziehen - gleiches Muster wie im Tarif-Vorlageneditor. */
.lf-drag-griff {
  display:flex; flex:none; align-items:center; justify-content:center; align-self:stretch;
  width:26px; color:var(--vm-muted); font-size:15px; line-height:1;
  cursor:grab; touch-action:none; user-select:none;
}
.lf-drag-griff:hover { color:var(--vm-text); background:var(--vm-surface); }
.lf-drag-griff:active { cursor:grabbing; }
body.lf-ziehen, body.lf-ziehen * { cursor:grabbing!important; user-select:none!important; }
.lf-phase.lf-karte-zieht, .lf-einwand.lf-karte-zieht { opacity:.45; }
.lf-phase.lf-drop-ziel, .lf-einwand.lf-drop-ziel { box-shadow:inset 0 3px 0 var(--vm-accent); }
.lf-nr { flex:none; min-width:30px; padding:3px 7px; border-radius:7px; background:var(--vm-surface); color:var(--vm-muted); font-size:11.5px; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.lf-karten-titel { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13.5px; font-weight:650; }
.lf-karten-titel em { color:var(--vm-muted); font-weight:500; }
.lf-chip { flex:none; padding:3px 8px; border-radius:999px; background:var(--vm-surface); color:var(--vm-muted); font-size:11px; font-weight:700; }
.lf-chip.leer { opacity:.45; }
.lf-pfeil { flex:none; color:var(--vm-muted); font-size:15px; line-height:1; transition:transform .15s; }
.lf-phase.offen .lf-pfeil, .lf-einwand.offen .lf-pfeil { transform:rotate(180deg); }
.lf-karten-inhalt { display:none; padding:13px; }
.lf-phase.offen>.lf-karten-inhalt, .lf-einwand.offen>.lf-karten-inhalt { display:block; }
.lf-phase>.lf-karten-inhalt>header { display:grid; grid-template-columns:80px minmax(180px,1fr) auto auto; gap:9px; align-items:end; margin-bottom:10px; }
.lf-einwand>.lf-karten-inhalt>header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.lf-teilkopf { margin:13px 0 7px; padding-top:10px; border-top:1px solid var(--vm-border); }
.lf-teilkopf h4 { margin:0; font-size:13px; }
.lf-unterkarten { display:grid; gap:8px; }
.lf-unterkarte { display:grid; grid-template-columns:minmax(150px,.32fr) minmax(300px,1fr) auto; gap:9px; align-items:end; padding:10px; border:1px dashed var(--vm-border); border-radius:10px; background:var(--vm-surface); }
.lf-entfernen { min-height:36px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--vm-danger) 45%,var(--vm-border)); border-radius:8px; color:var(--vm-danger); background:var(--vm-surface); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.lf-klein, .lf-kein-treffer { margin:7px; color:var(--vm-muted); font-size:12px; }
.lf-einwand label { margin-top:9px; }
.lf-versionen>div { display:grid; gap:6px; }
.lf-versionen>div>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:8px; background:var(--vm-surface-3); font-size:12px; }
.lf-versionen button { padding:6px 9px; border:1px solid var(--vm-border); border-radius:7px; color:var(--vm-text); background:var(--vm-surface); cursor:pointer; }
.lf-versionen em { color:var(--vm-muted); font-style:normal; }
.lf-status { min-height:20px; color:var(--vm-danger); font-size:13px; font-weight:700; }
.lf-leer, .lf-fehler { padding:24px; border:1px dashed var(--vm-border); border-radius:13px; color:var(--vm-muted); text-align:center; }
.lf-fehler { color:var(--vm-danger); }

/* Einheitlicher Ersatz fuer die nicht gestaltbaren Browser-Dialoge. */
.lf-dialog {
  width:min(480px,calc(100vw - 28px)); max-width:none; margin:auto; padding:0;
  overflow:hidden; border:1px solid var(--vm-border); border-radius:20px;
  color:var(--vm-text); background:var(--vm-surface);
  box-shadow:0 28px 90px rgba(2,27,34,.38);
}
.lf-dialog::backdrop { background:rgba(3,24,31,.66); backdrop-filter:blur(5px); }
.lf-dialog-shell { display:grid; grid-template-columns:48px 1fr; gap:14px; padding:22px; }
.lf-dialog-symbol {
  display:grid; place-items:center; width:46px; height:46px; border-radius:14px;
  color:#fff; background:var(--vm-primary); font-size:23px; font-weight:900;
  box-shadow:0 8px 20px color-mix(in srgb,var(--vm-primary) 24%,transparent);
}
.lf-dialog-symbol.gefahr { background:var(--vm-danger); box-shadow:0 8px 20px rgba(190,35,35,.2); }
.lf-dialog-text { min-width:0; }
.lf-dialog-text>span {
  color:var(--vm-primary); font-size:10px; font-weight:850;
  letter-spacing:.09em; text-transform:uppercase;
}
.lf-dialog-text h2 { margin:4px 0 7px; font-size:21px; line-height:1.2; letter-spacing:-.02em; }
.lf-dialog-text p { margin:0; color:var(--vm-muted); font-size:13px; line-height:1.55; }
.lf-dialog-eingabe { grid-column:1/-1; display:grid; gap:6px; margin-top:4px; }
.lf-dialog-eingabe>span {
  color:var(--vm-muted); font-size:10px; font-weight:850;
  letter-spacing:.06em; text-transform:uppercase;
}
.lf-dialog-eingabe input {
  width:100%; box-sizing:border-box; min-height:46px; padding:11px 12px;
  border:1px solid var(--vm-border); border-radius:10px;
  color:var(--vm-text); background:var(--vm-surface); font:inherit;
}
.lf-dialog-eingabe input:focus {
  border-color:var(--vm-primary); outline:3px solid color-mix(in srgb,var(--vm-primary) 24%,transparent);
}
.lf-dialog-fehler { grid-column:1/-1; min-height:16px; margin:-5px 0 0; color:var(--vm-danger); font-size:12px; font-weight:750; }
.lf-dialog-aktionen { grid-column:1/-1; display:flex; justify-content:flex-end; gap:9px; margin-top:5px; }
.lf-dialog-aktionen button {
  min-height:44px; padding:10px 16px; border:1px solid var(--vm-border); border-radius:10px;
  color:var(--vm-text); background:var(--vm-surface-3); font:inherit; font-weight:800; cursor:pointer;
}
.lf-dialog-aktionen .lf-dialog-ok { border-color:var(--vm-primary); color:#fff; background:var(--vm-primary); }
.lf-dialog-aktionen .lf-dialog-ok.gefahr { border-color:var(--vm-danger); background:var(--vm-danger); }
.lf-dialog-aktionen button:hover { filter:brightness(.96); }
.lf-dialog-aktionen button:focus-visible {
  outline:3px solid color-mix(in srgb,var(--vm-primary) 30%,transparent); outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){.lf-dialog,.lf-dialog::backdrop{transition:none}}
@media(max-width:1050px){.lf-layout{grid-template-columns:1fr}.lf-seite{position:static}.lf-liste{max-height:300px}.lf-einstellungen{grid-template-columns:repeat(2,1fr)}.lf-phase>.lf-karten-inhalt>header{grid-template-columns:75px 1fr auto}.lf-unterkarte{grid-template-columns:1fr 1fr}.lf-unterkarte .lf-entfernen{grid-column:1/-1;justify-self:start}}
@media(max-width:680px){.lf-hero,.lf-editor-kopf,.lf-abschnitt-kopf{align-items:stretch;flex-direction:column}.lf-form-grid,.lf-zwei,.lf-einstellungen{grid-template-columns:1fr}.lf-phase>.lf-karten-inhalt>header{grid-template-columns:1fr}.lf-chip{display:none}.lf-unterkarte{grid-template-columns:1fr}.lf-kopf-aktionen{justify-content:flex-start}.lf-voll{grid-column:auto}.lf-dialog-shell{grid-template-columns:40px 1fr;padding:18px}.lf-dialog-symbol{width:40px;height:40px;border-radius:12px}.lf-dialog-aktionen{align-items:stretch;flex-direction:column-reverse}.lf-dialog-aktionen button{width:100%}}
