/* Projekt-Dossier (Review 19) — Dossier-spezifisches CSS. Tokens: cockpit-v2-tokens.css.
   Quiet-Edit/Sections sind zusätzlich als geteilte Bausteine in cockpit-v2-components.css (PR1)
   — die hier mitportierten identischen Regeln können später zugunsten der geteilten entfernt werden. */
@media (max-width:600px){
}
*{box-sizing:border-box}
body{margin:0;background:var(--c2-bg);color:var(--c2-ink);font-family:var(--c2-font-sans);font-size:var(--c2-fs-body);line-height:var(--c2-lh)}
.page{max-width:1080px;margin:0 auto;padding:26px 28px 40px}
/* Header nutzt die volle .page-Breite; der Inhalt bleibt eine schmale, zentrierte
   Lesespalte (Dossier = Dokument). Trifft nur Content-Wrapper (.idhead/.read-only-keep/
   .stack/.edit-only), NICHT die Topbar; Footer liegt ausserhalb .page. */
.page > :not(.topbar){max-width:840px;margin-left:auto;margin-right:auto}
/* Eingebettet im Worklist-Dossier-Tab (Konsolidierung 2b): 840er-Lesespalte BEWUSST
   behalten (Fokus/Lesbarkeit, Freigabe Thomas). Nur den Übergang unter der geteilten
   Tab-Leiste beruhigen — kein doppelter Topbar-Abstand oben, saubere zentrierte Spalte.
   Greift ausschliesslich eingebettet: #tab-dossier existiert nur in der Worklist. */
#tab-dossier .page{padding-top:10px}
.muted{color:var(--c2-ink-2)} .mono{font-family:var(--c2-font-mono)}
.sect-label{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700;margin:0 0 12px}
.subhead{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700;margin:16px 0 10px}

/* topbar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.tb-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.crumb{display:inline-flex;align-items:center;gap:9px;font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700}
.crumb .dot{width:7px;height:7px;border-radius:50%;background:var(--c2-accent)}
.updated{display:inline-flex;align-items:center;gap:7px;font-size:var(--c2-fs-small);color:var(--c2-ink-3)}
.updated .bi{font-size:13px}
.logoslot{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px dashed var(--c2-line-3);
  border-radius:var(--c2-r-button);color:var(--c2-ink-3);font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.07em;font-weight:700;white-space:nowrap}
.logoslot .mk{width:18px;height:18px;border-radius:5px;background:var(--c2-accent-tile);color:var(--c2-accent-text);display:grid;place-items:center;font-size:10px}
.backlink{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);border:1px solid var(--c2-line-3);background:var(--c2-card);border-radius:999px;padding:7px 13px;min-height:36px;white-space:nowrap}
.backlink:hover{border-color:var(--c2-accent);color:var(--c2-accent-text)}
.backlink .bi{font-size:14px}
.toggle{font-family:inherit;font-size:var(--c2-fs-small);border:1px solid var(--c2-line-3);background:var(--c2-card);color:var(--c2-ink);
  border-radius:999px;padding:8px 14px;cursor:pointer;min-height:40px;display:inline-flex;align-items:center;gap:8px}

/* identity header */
.idhead{display:flex;align-items:flex-start;gap:20px 24px;margin-bottom:14px;flex-wrap:wrap}
.idhead .nm{flex:1 1 380px;min-width:0}
.idhead h1{font-size:var(--c2-fs-display);font-weight:800;margin:0;line-height:var(--c2-lh-tight);text-wrap:pretty}
.idhead .sub{font-size:var(--c2-fs-small);color:var(--c2-ink-2);text-transform:uppercase;letter-spacing:.04em;margin-top:7px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.idhead .sub .pid{font-family:var(--c2-font-mono);color:var(--c2-ink-3)}
.idhead .links{display:flex;gap:6px;flex:0 0 auto}
.lk{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--c2-line-3);background:var(--c2-card);border-radius:999px;
  padding:0 15px;height:40px;font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-accent-text);cursor:pointer;white-space:nowrap;text-decoration:none}
.lk:hover{border-color:var(--c2-accent)} .lk.plain{color:var(--c2-ink-2)} .lk.plain:hover{color:var(--c2-ink)}
.statuspill{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--c2-fs-label);font-weight:700;border-radius:999px;padding:5px 12px;border:1px solid var(--c2-line-3);
  color:var(--c2-ink-2);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.statuspill.accent{background:var(--c2-accent);border-color:var(--c2-accent);color:var(--c2-on-accent)}
.statuspill.success{background:var(--c2-success);border-color:var(--c2-success);color:#fff}
.statuspill.danger{background:var(--c2-danger);border-color:var(--c2-danger);color:#fff}
.statuspill.warn{background:var(--c2-warn);border-color:var(--c2-warn);color:#fff}

/* menu popover (Ansprechpartner) */
.menu{position:relative}
.menu-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;background:var(--c2-card);border:1px solid var(--c2-line-3);
  border-radius:var(--c2-r-chip);padding:7px;z-index:60;display:none}
.menu.open .menu-pop{display:block}
.menu-head{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700;padding:6px 10px 8px}
.menu-row{display:flex;align-items:center;gap:11px;padding:10px;border-radius:var(--c2-r-button);font-size:var(--c2-fs-small);color:var(--c2-ink);
  text-decoration:none;font-family:inherit;border:none;background:none;width:100%;cursor:pointer;text-align:left}
.menu-row:hover{background:var(--c2-surface-2)} .menu-row .bi{color:var(--c2-ink-3);font-size:15px;flex:0 0 16px}
.menu-row.copy{border-top:1px solid var(--c2-line);color:var(--c2-accent-text);margin-top:4px} .menu-row.copy .bi{color:var(--c2-accent-text)}

/* facts (Eckdaten) */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--c2-line-2);
  border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);overflow:hidden;margin:0 0 24px}
.fact{background:var(--c2-card);padding:13px 16px}
.fact .k{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);font-weight:700;display:flex;align-items:center;gap:6px}
.fact .k .bi{font-size:12px}
.fact .v{font-size:var(--c2-fs-body);font-weight:600;margin-top:4px}
.fact .v small{font-weight:400;color:var(--c2-ink-2);font-size:var(--c2-fs-small)}
.fact .v .due{color:var(--c2-warn);font-weight:600}

/* requirements card (Quelle für Match) */
.reqcard{border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);padding:18px 20px;margin-bottom:24px}
.req-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.req-note{display:flex;gap:9px;align-items:flex-start;font-size:var(--c2-fs-small);color:var(--c2-ink-2);background:var(--c2-accent-tile);
  border-radius:var(--c2-r-chip);padding:9px 12px;margin:12px 0 4px}
.req-note .bi{color:var(--c2-accent);margin-top:1px}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.skill{font-size:var(--c2-fs-small);border-radius:var(--c2-r-tag);padding:5px 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c2-line-3);color:var(--c2-ink-2);background:var(--c2-card)}
.skill.must{border-color:var(--c2-accent);color:var(--c2-accent-text);background:var(--c2-accent-tile)}
.skill.rel{border-color:var(--c2-accent);color:var(--c2-accent-text);background:var(--c2-accent-tile)}
.skill .bi{font-size:13px}
/* v21 #1 / §3 — Skills 3 Ebenen: Kernkompetenzen prominent, „Weitere Skills (N)"-Toggle, Aufklapp. */
.skill.kern{font-size:var(--c2-fs-body);padding:8px 14px;background:var(--c2-accent-tile-strong)}
.skill.kern .bi{font-size:15px}
.skill-prov{font-size:var(--c2-fs-small);color:var(--c2-ink-3);margin:10px 0 0}
.skill-prov:empty{display:none}
.moreskills-toggle{font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);background:none;border:none;cursor:pointer;padding:8px 0 0;margin-top:6px;display:inline-flex;align-items:center;gap:7px}
.moreskills-toggle:hover{color:var(--c2-accent-text)}
.moreskills-toggle .ms-count{color:var(--c2-ink-3);font-weight:600}
.moreskills-toggle .ms-chev{font-size:12px;color:var(--c2-ink-3);transition:transform .2s ease-out}
.moreskills-toggle[aria-expanded="true"] .ms-chev{transform:rotate(180deg)}
.rest-skills{max-height:0;overflow:hidden;transition:max-height .2s ease-out}
.rest-skills.open{max-height:2000px}
.rest-skills .chips{padding-top:12px}
.reqmeta{font-size:var(--c2-fs-small);color:var(--c2-ink-2);margin-top:14px;display:flex;gap:18px;flex-wrap:wrap}
.reqmeta b{color:var(--c2-ink);font-weight:600}
.prov{display:inline-flex;align-items:center;gap:6px;font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.04em;
  color:var(--c2-accent-text);background:var(--c2-accent-tile);border-radius:999px;padding:3px 9px;font-weight:700;white-space:nowrap}
.prov .bi{font-size:12px}
/* Provenance-Varianten: Briefing / Stellenanzeige / KI / Manuell / Bearbeitet */
.prov.briefing{color:#7a4cc4;background:#f1ebfb}
.prov.manual{color:var(--c2-ink-3);background:var(--c2-surface-2);border:1px solid var(--c2-line-3)}
.prov.edited{color:var(--c2-warn);background:var(--c2-warn-tile)}

/* pipeline (Stand) */
.pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--c2-line-2);border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);overflow:hidden}
.pstep{background:var(--c2-card);padding:13px 10px;text-align:center}
.pstep .pn{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.pstep .pl{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);font-weight:700;margin-top:3px}
.pstep.hot .pn{color:var(--c2-accent-text)}
@media(max-width:560px){.pipe{grid-template-columns:repeat(3,1fr)}}

/* candidate mini list */
.cmini{display:flex;align-items:center;gap:13px;padding:12px 2px;border-bottom:1px solid var(--c2-line);text-decoration:none;color:var(--c2-ink)}
.cmini:last-child{border-bottom:none}
.cmini:hover{background:var(--c2-surface-2)}
.av{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--c2-accent-tile);color:var(--c2-accent-text);display:grid;place-items:center;font-weight:700;font-size:var(--c2-fs-small)}
.cmini .cb{flex:1;min-width:0}
.cmini .cn{font-weight:600}
.cmini .cr{font-size:var(--c2-fs-small);color:var(--c2-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmini .cst{font-size:var(--c2-fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);white-space:nowrap}
.cscore{display:inline-flex;flex-direction:column;align-items:center;gap:1px;flex:0 0 auto}
.cscore .cv{font-size:var(--c2-fs-h2);font-weight:800;color:var(--c2-accent-text);font-variant-numeric:tabular-nums;line-height:1}
.cscore .cl{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--c2-ink-3);font-weight:700}
.cscore.mid .cv{color:var(--c2-warn)} .cscore.low .cv{color:var(--c2-danger)}
.cmini .go{color:var(--c2-ink-3);flex:0 0 auto}
.cmini-empty{display:flex;align-items:center;gap:9px;font-size:var(--c2-fs-small);color:var(--c2-ink-3);border:1px dashed var(--c2-line-3);border-radius:var(--c2-r-card);padding:12px 14px}

/* generic block + body text */
.block{margin-bottom:24px}
.block p.body{font-size:var(--c2-fs-body);color:var(--c2-ink-2);margin:0}

/* demoted details */
.details{border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);overflow:hidden;margin-bottom:24px}
.det-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:none;background:none;font-family:inherit;cursor:pointer;border-bottom:1px solid var(--c2-line);text-align:left;color:var(--c2-ink)}
.details .det-row:last-of-type{border-bottom:none}
.det-row .bi.lead{color:var(--c2-ink-3);font-size:16px;flex:0 0 auto}
.det-row .dt{flex:1;min-width:0;font-size:var(--c2-fs-small);font-weight:600}
.det-row .dc{font-size:var(--c2-fs-label);background:var(--c2-surface-2);color:var(--c2-ink-2);border-radius:999px;padding:2px 9px;font-weight:700}
.det-row .bi.chev{color:var(--c2-ink-3);font-size:13px;transition:transform .2s}
.det-row[aria-expanded="true"] .bi.chev{transform:rotate(180deg)}
.det-body{padding:4px 18px 16px;display:none} .det-body.open{display:block}
.metagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px}
.metagrid .k{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);font-weight:700}
.metagrid .v{font-size:var(--c2-fs-small);font-weight:600;margin-top:3px}

/* footer */
.footer{position:fixed;left:0;right:0;bottom:0;background:var(--c2-card);border-top:1px solid var(--c2-line-2);z-index:40}
.footer-in{max-width:840px;margin:0 auto;padding:12px 28px;display:flex;gap:10px;align-items:center}
.fstat{font-size:var(--c2-fs-small);color:var(--c2-ink-2);margin-right:auto;display:flex;align-items:center;gap:9px;min-width:0}
.act{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-family:inherit;font-size:var(--c2-fs-small);font-weight:700;cursor:pointer;min-height:46px;padding:0 18px;border:1px solid transparent;white-space:nowrap}
.act.ghost{background:var(--c2-card);color:var(--c2-ink);border-color:var(--c2-line-3)}
.act.soft{background:var(--c2-accent-tile);color:var(--c2-accent-text)}
.act.send{background:var(--c2-accent);color:var(--c2-on-accent)}
.act:hover{filter:brightness(.97)}
/* Hierarchie in der Bearbeiten-Leiste: bei einem Entwurf ist die Entscheidung „Aktivieren".
   Speichern tritt dann auf sekundär zurück, Abbrechen wird zum stillen Textknopf. Ohne
   sichtbares Aktivieren (aktive Projekte) bleibt Speichern die Primäraktion — deshalb hängt
   das an der Klasse, die das JS mit der Sichtbarkeit des Aktivieren-Knopfes setzt. */
#editFooter.has-activate #saveEdit{background:var(--c2-card);color:var(--c2-ink);border-color:var(--c2-line-3)}
#editFooter #cancelEdit2{background:none;border-color:transparent;color:var(--c2-ink-3)}
#editFooter #cancelEdit2:hover{color:var(--c2-ink)}

/* ===== Bearbeiten = Ansicht (Inline-Edit in place) ===== */
.edit-only{display:none}
html:not([data-mode="edit"]) .edit-only{display:none}
html[data-mode="edit"] .edit-only{display:block}
/* Im Edit-Modus bleibt die Ansicht stehen — nur Chrome wechselt */
html:not([data-mode="edit"]) .links.edit-only{display:none}
html[data-mode="edit"] .links.edit-only{display:flex}
html[data-mode="edit"] .links.read-only{display:none}
html[data-mode="edit"] .footer.read-only{display:none}
/* Twin: Wert ↔ Inline-Control in derselben Zelle */
.edview{display:none}
html[data-mode="edit"] .roview{display:none}
html[data-mode="edit"] .edview{display:inline-flex;align-items:center;gap:8px}
html[data-mode="edit"] input.edview,html[data-mode="edit"] select.edview{display:block}
html[data-mode="edit"] .edview.edrow{display:flex;gap:8px;width:100%}
/* Inline-Eingaben sitzen genau dort, wo der Wert stand */
.edin{font-family:inherit;font-size:var(--c2-fs-body);color:var(--c2-ink);background:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:var(--c2-r-button);padding:7px 10px;width:100%;min-width:0;outline:none}
.edsel{font-family:inherit;font-size:var(--c2-fs-body);color:var(--c2-ink);background-color:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:var(--c2-r-button);padding:7px 32px 7px 11px;width:100%;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238a8d93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px}
.edsel::-ms-expand{display:none}
.edin:focus,.edsel:focus{border-color:var(--c2-accent);box-shadow:0 0 0 3px var(--c2-accent-tile)}
.edin.ednum{max-width:96px}
.edsuf{align-items:center;gap:8px}
.edsuffix{font-size:var(--c2-fs-small);color:var(--c2-ink-3);font-weight:600}
/* Laufzeit-Composite: Monate-Input + „+ Option"-Checkbox */
.eddur{align-items:center;gap:8px;flex-wrap:wrap}
.edopt{display:inline-flex;align-items:center;gap:6px;font-size:var(--c2-fs-small);color:var(--c2-ink-2);font-weight:500;cursor:pointer;padding:5px 9px;border:1px solid var(--c2-line-3);border-radius:var(--c2-r-button);user-select:none;line-height:1;white-space:nowrap}
.edopt input{margin:0;accent-color:var(--c2-accent)}
.edopt:has(input:checked){background:var(--c2-accent-tile);border-color:var(--c2-accent);color:var(--c2-accent-text)}
.reqmeta .edmeta{max-width:230px}
#eStatus{max-width:170px}
/* contenteditable: Titel & Beschreibung werden lebendig, ohne Layout-Sprung */
html[data-mode="edit"] .ce-edit{outline:1px solid transparent;outline-offset:5px;border-radius:5px;transition:outline-color .12s;cursor:text}
html[data-mode="edit"] .ce-edit:hover{outline-color:var(--c2-line-3)}
html[data-mode="edit"] .ce-edit:focus{outline:2px solid var(--c2-accent)}
/* Skills: ✕ an den Chips + Inline-„hinzufügen" erscheinen im Edit */
.skill .echip-rm{display:none}
html[data-mode="edit"] .skill{padding-right:7px}
html[data-mode="edit"] .skill .echip-rm{display:inline-flex;align-items:center;margin-left:7px;border:none;background:none;color:var(--c2-ink-3);cursor:pointer;font-size:13px;line-height:1;padding:0}
html[data-mode="edit"] .skill .echip-rm:hover{color:var(--c2-danger)}
.chip-add{display:none}
html[data-mode="edit"] .chip-add{display:inline-flex;align-items:center}
.chip-add input{font-family:inherit;font-size:var(--c2-fs-small);border:1px dashed var(--c2-line-3);border-radius:var(--c2-r-tag);padding:6px 11px;outline:none;min-width:150px;background:none;color:var(--c2-ink)}
.chip-add input:focus{border-style:solid;border-color:var(--c2-accent)}
/* ── Steuerzeile unter dem Titel (R25) ────────────────────────────────────────
 * Kunde · Recruiter · Budget stehen hier, weil sie im Recruiter-Alltag häufig geändert werden —
 * nicht in einem „internen" Block weiter unten. Gelesen und bearbeitet an derselben Stelle:
 * der Lesewert ist ein Knopf, der in den Bearbeiten-Modus schaltet und direkt in dieses Feld
 * fokussiert; im Edit-Modus steht das Eingabefeld an genau derselben Position. */
.crumb{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.crumb-ro{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;
  font:inherit;color:inherit;text-transform:none;letter-spacing:0;cursor:pointer;border-radius:4px}
 /* Das Symbol steht NEBEN dem Wert, nicht im Lese-Knopf: im Bearbeiten-Modus verschwindet
    sonst mit dem Wert auch die Bedeutung, und in der Zeile stünden drei namenlose Felder. */
.crumb-ico{font-size:12px;color:var(--c2-ink-3)}
.crumb-ro .bi{font-size:12px;color:var(--c2-ink-3)}
.crumb-ro:hover{color:var(--c2-accent-text)}
.crumb:hover .crumb-ico{color:var(--c2-accent-text)}
.crumb-in{text-transform:none;letter-spacing:0}
html[data-mode="edit"] .crumb-in.edin{min-width:140px;max-width:180px}
html[data-mode="edit"] .crumb-in.edrow{display:inline-flex;gap:2px;align-items:center;width:auto}
html[data-mode="edit"] .crumb-in .ednum{min-width:0;width:52px;max-width:52px}
html[data-mode="edit"] .crumb-in .edcur{min-width:0;width:auto}
html[data-mode="edit"] .crumb-in .edunit{min-width:0;width:auto}
html[data-mode="edit"] .crumb-in .edsel{padding-left:4px;padding-right:18px}

/* ── Kapitel vs. Feldgruppe ─────────────────────────────────────────────────
 * Vorher waren Section-Titel und Untergruppe identisch formatiert (beide fs-label/700/ink-3) —
 * „ANFORDERUNGEN" und „PFLICHT-SKILLS" lasen sich wie zwei gleichwertige Überschriften. Drei
 * Kapitel tragen die Seite, alles darunter ist kleiner und leiser. */
.stack .section-title{color:var(--c2-ink-2);letter-spacing:.09em}
.stack .subhead{font-size:var(--c2-fs-micro);font-weight:600;letter-spacing:.06em}
/* Redaktioneller Fluss statt Formularkacheln: EIN Abstand zwischen den Kapiteln, nicht zwei. */
.stack>.section{padding-bottom:0;margin-bottom:32px}

/* „Weitere interne Angaben": Long Tail hinter einer Klappe, ohne eigenen Rahmen. Sitzt seit
   R25 direkt unter der Steuerzeile — die .sub darüber bringt ihren eigenen Abstand mit. */
.more-fold{margin-top:0;margin-bottom:26px}
.more-fold>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);padding:4px 0;user-select:none}
.more-fold>summary::-webkit-details-marker{display:none}
.more-fold>summary:hover{color:var(--c2-accent-text)}
.more-fold>summary .chev{font-size:11px;color:var(--c2-ink-3);transition:transform .15s}
.more-fold[open]>summary .chev{transform:rotate(90deg)}
#internMore .facts{border:0;padding:0;margin:14px 0 0}
#internMore .ap-line{display:block;color:var(--c2-ink-2);text-decoration:none;font-weight:400;margin-top:3px}
#internMore .ap-line:hover{color:var(--c2-accent-text)}
#internMore .ap-line .bi{font-size:12px;color:var(--c2-ink-3);margin-right:4px}
.intern-meta{margin:16px 0 0;font-family:var(--c2-font-mono);font-size:var(--c2-fs-micro);
  color:var(--c2-ink-3);letter-spacing:.02em}

/* Nur der Rohtext klappt zu — Referenzmaterial, oft hunderte Zeilen. Ruhige Zeile, keine Karte. */
.orig-fold{margin-top:0}
.orig-fold>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);padding:6px 0;user-select:none}
.orig-fold>summary::-webkit-details-marker{display:none}
.orig-fold>summary:hover{color:var(--c2-accent-text)}
.orig-fold>summary .chev{font-size:11px;color:var(--c2-ink-3);transition:transform .15s}
.orig-fold[open]>summary .chev{transform:rotate(90deg)}
.orig-fold #origText{margin:8px 0 0;white-space:pre-line;color:var(--c2-ink-2);
  border-left:2px solid var(--c2-line-2);padding-left:14px}
.pubstate{font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2)}
.ki-hint{font-size:12px;color:var(--c2-accent-text);opacity:.7;vertical-align:1px}
/* Status-Selector: kompakte Pille mit Hover-Segmented (analog Listen v2) */
.x-statuswrap{position:relative;align-items:center}
.x-status{font-family:inherit;font-size:var(--c2-fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);background:none;border:none;padding:0;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.x-status .d{width:7px;height:7px;border-radius:50%;background:var(--c2-ink-3)}
.x-status.aktiv .d{background:var(--c2-accent)}
.x-status.pruefung .d{background:var(--c2-warn)}
.x-status.besetzt .d{background:var(--c2-success)}
.x-status.entwurf .d,.x-status.pausiert .d,.x-status.geschlossen .d{background:var(--c2-ink-3)}
.x-status .cv{font-size:9px;color:var(--c2-ink-3)}
.x-statuswrap:hover .x-status,.x-statuswrap:focus-within .x-status{visibility:hidden}
.x-seg2{position:absolute;left:0;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:2px;background:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:999px;padding:3px;box-shadow:0 10px 26px rgba(0,0,0,.13);z-index:8;white-space:nowrap}
.x-statuswrap:hover .x-seg2,.x-statuswrap:focus-within .x-seg2{display:inline-flex}
.x-seg2 button{font-family:inherit;font-size:var(--c2-fs-label);font-weight:700;border:none;background:none;color:var(--c2-ink-2);border-radius:999px;padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.x-seg2 button .d{width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.x-seg2 button:hover{background:var(--c2-surface-2)}
.x-seg2 button.on{background:var(--c2-ink);color:#fff}
/* Im Bearbeiten ist die Bewerber-Pipeline nicht relevant */
html[data-mode="edit"] [data-block="pipe"]{display:none}
/* Entwurf: Projektdetails eingeklappt — zuerst nur die schlanken Entscheidungen */
html.details-collapsed[data-mode="edit"] .read-only .stack{display:none}
.ropt{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700;border:1px solid var(--c2-line-3);border-radius:var(--c2-r-tag);padding:1px 6px;margin-left:7px;vertical-align:1px}
.disclosure{margin:2px 0 18px}
/* per-section in-place editing */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.edit-sec{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;
  color:var(--c2-ink-2);background:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:999px;padding:6px 12px;min-height:34px;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.edit-sec:hover{border-color:var(--c2-accent);color:var(--c2-accent-text)}
.edit-sec .bi{font-size:13px}
/* Ansehen-first: keine Sektions-Stifte in der reinen Ansicht — Bearbeiten nur über den Kopf-Button */
.edit-sec{display:none}
/* Provenance („Aus Stellenanzeige") nur im Bearbeiten-Modus; „Prüfen" bleibt als Qualitätssignal */
html:not([data-mode="edit"]) .prov:not(.review){display:none}
/* Skill-Chips nie fett */
.skill{font-weight:400}
.rsec-hidden{display:none!important}
.sec-host{margin-bottom:24px;border:1px solid var(--c2-accent);border-radius:var(--c2-r-card);background:var(--c2-card);padding:4px 16px 12px;animation:secin .2s ease both}
@keyframes secin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.sec-host-head{display:flex;align-items:center;gap:9px;padding:13px 4px 11px;border-bottom:1px solid var(--c2-line);margin-bottom:6px}
.sec-host-head .bi{color:var(--c2-accent-text);font-size:15px}
.sec-host-head b{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-accent-text);font-weight:700}
.sec-host .formcard{border:none;padding:8px 4px;margin-bottom:4px}
.sec-host .formcard>.sect-label{margin-bottom:12px}
.sec-foot{display:flex;gap:10px;justify-content:flex-end;padding:8px 4px 4px;border-top:1px solid var(--c2-line);margin-top:6px}
.formcard{border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);padding:20px 22px;margin-bottom:18px}
.formcard.intake{border-color:var(--c2-accent);background:linear-gradient(var(--c2-accent-tile),var(--c2-accent-tile)),var(--c2-card)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.frow.one{grid-template-columns:1fr}
/* interne (kandidaten-unsichtbare) Felder abgrenzen */
.intern-group{background:var(--c2-surface-2);border:1px solid var(--c2-line-2);border-radius:var(--c2-r-button);padding:14px 16px;margin-top:6px}
.intern-head{display:flex;align-items:center;gap:7px;margin-bottom:13px;flex-wrap:wrap}
.intern-head .bi{font-size:13px;color:var(--c2-ink-3)}
.intern-head b{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700}
.intern-head .hint{font-size:var(--c2-fs-small);color:var(--c2-ink-3);font-weight:400}
.intern-group .field{margin-bottom:0}
.intern-group .frow{margin-bottom:14px}
.intern-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--c2-line-2);cursor:pointer;min-height:44px}
.switch-txt{font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink);display:flex;align-items:center;gap:8px}
.switch-txt .bi{color:var(--c2-ink-3);font-size:14px}
.switch-input{position:absolute;opacity:0;width:0;height:0}
.switch{position:relative;display:inline-block;flex:0 0 auto;width:42px;height:24px;border-radius:999px;background:var(--c2-line-3);transition:background .15s}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.switch-input:checked + .switch{background:var(--c2-accent)}
.switch-input:checked + .switch::after{transform:translateX(18px)}
.switch-input:focus-visible + .switch{box-shadow:0 0 0 3px var(--c2-accent-tile)}

/* ===== Review-first: ruhiger Entwurf-Check (Stripe-/Linear-Prinzip) ===== */
.review{display:none;border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);padding:24px 24px 20px;margin-bottom:16px}
.review.show{display:block}
.review-ki{display:inline-flex;align-items:center;gap:7px;font-size:var(--c2-fs-small);color:var(--c2-ink-3);margin-bottom:14px}
.review-ki .bi{font-size:13px;color:var(--c2-accent-text)}
.review-title{font-size:var(--c2-fs-h1);font-weight:700;color:var(--c2-ink);margin:0 0 18px;letter-spacing:-.01em;line-height:var(--c2-lh-tight)}
/* Steht als einziger Satz in der Karte — dann gehört er in die Mitte, nicht an den linken
   Rand einer sonst leeren Fläche. */
.review-done{display:flex;align-items:center;justify-content:center;text-align:center;gap:9px;font-size:var(--c2-fs-small);color:var(--c2-success);font-weight:600;margin:-4px 0 18px}
.review-done[hidden]{display:none}
.rdecisions{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.rdec{display:block}
.rdec .rdot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--c2-line-3);margin-top:8px;display:grid;place-items:center;color:#fff;font-size:11px;transition:background .15s,border-color .15s}
.rdec.done .rdot{background:var(--c2-success);border-color:var(--c2-success)}
.rdec .rbody{min-width:0}
.rdec .rlabel{font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink);margin:0 0 6px;display:block}
.rdec.done .rlabel{color:var(--c2-ink-3)}
.rctrl{display:flex;align-items:center;gap:8px;max-width:340px}
.rctrl .inwrap{flex:1}
.rsuggest{display:flex;align-items:baseline;gap:8px;margin-top:9px;font-size:var(--c2-fs-small);color:var(--c2-ink-2);line-height:1.45;max-width:420px}
.rsuggest>.bi{color:var(--c2-accent-text);font-size:12px;flex:0 0 auto;position:relative;top:2px}
.rsuggest .apply{font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-accent-text);background:none;border:none;padding:0;margin-left:2px;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
.rsuggest .apply:hover{color:var(--c2-accent)}
/* Inline-Blocker am Aktivieren-Button */
.fstat-mini{display:inline-flex;align-items:center;gap:6px}
.fstat-mini .x-statuswrap .x-status{cursor:pointer}
.actHint{font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-warn);margin-right:6px;white-space:nowrap}
.actHint:empty{display:none}
.rdec.done .rsuggest{display:none}
/* Pflicht-Entscheidungen oben prominent, Empfehlungen leiser darunter */
.rdec-divider{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--c2-ink-3);font-weight:700;padding-top:14px;margin-top:8px;border-top:1px solid var(--c2-line-2);display:flex;align-items:center;gap:8px}
.rdec-divider .bi{color:var(--c2-accent-text);font-size:12px}
.rdec.opt .rlabel{color:var(--c2-ink-2);font-weight:500}
.rdec.opt .rsuggest{color:var(--c2-ink-3)}
.review-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--c2-line-2);padding-top:18px}
/* Fertig-Zustand (R25): die Karte sagt genau einen Satz. Hinweisfuß, Trennlinie und der
   Leerraum darunter fallen weg — sonst steht die grüne Zeile in einem halbleeren Kasten.
   Die Handlung selbst trägt der Sticky-Button „Aktivieren". */
.review.is-done{padding-bottom:20px}
.review.is-done .review-actions{display:none}
.review.is-done .rdecisions{margin-bottom:0}
.review.is-done .review-done{margin-bottom:0}
.review-actions .rhint{font-size:var(--c2-fs-small);color:var(--c2-ink-3)}

/* Disclosure: „Projektdetails anzeigen“ */.disclosure{display:flex;align-items:center;gap:9px;width:100%;font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);background:none;border:none;padding:6px 2px 16px;cursor:pointer;min-height:44px}
.disclosure .bi{font-size:13px;color:var(--c2-ink-3)}
.disclosure .chev{margin-left:auto;transition:transform .18s}
.disclosure[aria-expanded="true"] .chev{transform:rotate(180deg)}
.disclosure:hover{color:var(--c2-ink)}
.form-wrap[hidden]{display:none}

/* Schnell-Erfassung — eingeklappt */
.intake-fold{border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);margin-bottom:18px;overflow:hidden}
.intake-fold>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;padding:15px 18px;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-accent-text);min-height:44px}
.intake-fold>summary::-webkit-details-marker{display:none}
.intake-fold>summary .bi{font-size:14px}
.intake-fold>summary:hover{color:var(--c2-accent)}
.intake-fold[open]>summary{border-bottom:1px solid var(--c2-line-2);color:var(--c2-ink)}
.intake-body{padding:16px 18px 18px}
.intake-body .fhint{margin:0 0 10px}

/* Flash-Sprung (Figma-/Linear-Manier): kurz gelb, dann verblassen */
@keyframes fieldflash{0%,12%{box-shadow:0 0 0 7px var(--c2-warn-tile);background:var(--c2-warn-tile)}100%{box-shadow:0 0 0 0 transparent;background:transparent}}
.field.flash{animation:fieldflash 2s ease-out;border-radius:10px}
.rdec.flash{animation:fieldflash 2s ease-out;border-radius:10px}

/* Feld-Gruppen statt Box-Stapel */
.fgroup{margin-top:34px}
.fgroup:first-of-type{margin-top:6px}
.fgroup-label{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--c2-ink-2);font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.fgroup-label::after{content:"";flex:1;height:1px;background:var(--c2-line-2)}
.flabel .fnote{font-weight:400;text-transform:none;color:var(--c2-ink-3);letter-spacing:0;font-size:var(--c2-fs-small)}
.fninfo{color:var(--c2-ink-3);font-size:12px;cursor:help;vertical-align:-1px}

/* quick chips (Laufzeit) */
.quickchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.quickchips button{font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);background:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:999px;padding:6px 12px;min-height:34px;cursor:pointer}
.quickchips button:hover{border-color:var(--c2-accent);color:var(--c2-accent-text)}
.quickchips button[aria-pressed="true"]{border-color:var(--c2-accent);color:var(--c2-accent-text);background:var(--c2-accent-tile)}

/* budget suffix */
.inwrap{position:relative;display:flex;align-items:center}
.inwrap .input{flex:1;padding-right:48px}
.insuffix{position:absolute;right:14px;font-size:var(--c2-fs-small);color:var(--c2-ink-3);pointer-events:none}

/* „noch zu ergänzen“ — dezente Feldmarkierung, nur für die offenen Entscheidungen */
.field.todo .input,.field.todo .select,.field.todo .skilled,.field.todo .inwrap .input{border-color:var(--c2-warn)}

/* Intern — eingeklappt (braucht man praktisch nie) */
.intern-fold{border-top:1px solid var(--c2-line-2);margin-top:22px;padding-top:4px}
.intern-fold>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;padding:10px 0;font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--c2-ink-3);min-height:44px}
.intern-fold>summary::-webkit-details-marker{display:none}
.intern-fold>summary .bi.lock-ico{font-size:13px}
.intern-fold>summary .chev{margin-left:auto;font-size:13px;transition:transform .15s}
.intern-fold[open]>summary .chev{transform:rotate(180deg)}
.intern-fold>summary .hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--c2-ink-3)}
.intern-body{padding:4px 0 6px}

/* Aktivieren-Footer */
#editFooter .fstat .statuspill{margin-left:2px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field:last-child{margin-bottom:0}
.flabel{font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2)} .flabel .req{color:var(--c2-danger);margin-left:2px}
.input,.select,.textarea{font-family:inherit;font-size:var(--c2-fs-body);color:var(--c2-ink);background:var(--c2-card);border:1px solid var(--c2-line-3);border-radius:var(--c2-r-button);padding:11px 14px;min-height:44px;width:100%;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.textarea{min-height:110px;resize:vertical}
.input::placeholder,.textarea::placeholder{color:var(--c2-ink-3)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c2-accent);box-shadow:0 0 0 3px var(--c2-accent-tile)}
.field.error .input{border-color:var(--c2-danger)} .field.error .input:focus{box-shadow:0 0 0 3px var(--c2-danger-tile)}
.ferror{font-size:var(--c2-fs-small);color:var(--c2-danger);display:none;align-items:center;gap:6px} .field.error .ferror{display:flex}
.select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23A0A0A0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center}
.fhint{font-size:var(--c2-fs-small);color:var(--c2-ink-3)}
.skilled{display:flex;flex-wrap:wrap;gap:7px;padding:10px;border:1px solid var(--c2-line-3);border-radius:var(--c2-r-button);min-height:48px;align-items:flex-start}
.skilled .echip{font-size:var(--c2-fs-small);border:1px solid var(--c2-line-3);border-radius:var(--c2-r-tag);padding:4px 6px 4px 10px;display:inline-flex;align-items:center;gap:6px;color:var(--c2-ink);background:var(--c2-surface-2)}
.skilled .echip.must{border-color:var(--c2-accent);color:var(--c2-accent-text);background:var(--c2-accent-tile)}
.skilled .echip .rm{appearance:none;border:none;background:none;color:var(--c2-ink-3);cursor:pointer;font-size:14px;line-height:1;padding:0;display:grid;place-items:center}
.skilled .echip .rm:hover{color:var(--c2-danger)}
.skilled input{flex:1;min-width:120px;border:none;outline:none;background:none;font-family:inherit;font-size:var(--c2-fs-body);color:var(--c2-ink);padding:5px}
.edit-foot{display:flex;gap:10px;justify-content:flex-end}
.morebtn{font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-accent-text);background:none;border:none;cursor:pointer;padding:6px 0;margin-top:4px;display:inline-flex;align-items:center;gap:6px}
.c2-spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid var(--c2-line-3);border-top-color:var(--c2-accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* toast */
.toast-region{position:fixed;top:18px;right:18px;display:flex;flex-direction:column;gap:10px;z-index:200;width:340px;max-width:calc(100vw - 36px)}
.toast{display:flex;gap:11px;background:var(--c2-card);border:1px solid var(--c2-line-2);border-left:3px solid var(--c2-accent);border-radius:var(--c2-r-chip);padding:12px 14px;align-items:flex-start;animation:tin .25s ease both}
.toast.success{border-left-color:var(--c2-success)} .toast.success .bi{color:var(--c2-success)}
.toast.danger{border-left-color:var(--c2-danger)} .toast.danger .bi{color:var(--c2-danger)}
.toast .bi{color:var(--c2-accent);font-size:18px;flex:0 0 auto;margin-top:1px}
.toast b{font-size:var(--c2-fs-small)} .toast p{margin:2px 0 0;font-size:var(--c2-fs-small);color:var(--c2-ink-2)}
@keyframes tin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.toast.out{animation:tout .2s forwards}@keyframes tout{to{opacity:0;transform:translateX(16px)}}

@media (max-width:560px){
  .page{padding:16px 14px 150px}
  .idhead{flex-direction:column;gap:12px;margin-bottom:12px}
  .facts{grid-template-columns:repeat(2,1fr);margin-bottom:16px}
  .fact{padding:11px 13px}
  .block{margin-bottom:16px}
  .reqcard{padding:15px 16px;margin-bottom:16px}
  .req-note{margin-top:10px}
  .pstep{padding:10px 6px} .pstep .pn{font-size:19px}
  .sect-label{margin-bottom:9px} .subhead{margin:12px 0 8px}
  .footer-in{padding:10px 14px;flex-wrap:wrap} .fstat{order:-1;flex:1 1 100%;margin-bottom:4px} .act{flex:1}
  .frow{grid-template-columns:1fr} .menu-pop{right:auto;left:0}
}
/* ===== Sicht (Audience) ===== */
/* Äußere .topbar bleibt EINZEILIG (identisch zu Cockpit/Experten) — nur die inneren
   Gruppen .tb-left/.tb-right dürfen umbrechen. Das globale flex-wrap hier verursachte
   den Kopfleisten-Umbruch (Toggle/Avatar in 2. Zeile). */
.tb-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.audsel{display:inline-flex;background:var(--c2-surface-2);border:1px solid var(--c2-line-2);border-radius:999px;padding:3px;gap:2px}
.audsel button{font-family:inherit;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-ink-2);background:none;border:none;border-radius:999px;padding:6px 13px;min-height:34px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.audsel button .bi{font-size:13px}
.audsel button[aria-pressed="true"]{background:var(--c2-card);color:var(--c2-ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.audnote{display:flex;align-items:flex-start;gap:9px;font-size:var(--c2-fs-small);color:var(--c2-ink-2);background:var(--c2-accent-tile);border-radius:var(--c2-r-chip);padding:9px 13px;margin:0 0 20px}
.audnote .bi{color:var(--c2-accent);margin-top:1px;flex:0 0 auto}
html[data-aud="recruiter"] .extern-only{display:none!important}
html[data-aud="extern"] .recruiter-only{display:none!important}
.stack{display:flex;flex-direction:column}
/* Lesefluss der Aufgabe: Projekt prüfen (inkl. „nur intern") → Anforderungen → Pipeline →
   Beschreibung → Original nur bei Bedarf. Die DOM-Reihenfolge im Partial ist dieselbe — diese
   order-Werte halten sie nur gegen den Flex-Default. */
.stack>[data-block]{order:9}
.stack>[data-block="fit"]{order:1}
.stack>[data-block="fit-off"]{order:1}
.stack>[data-block="eck"]{order:2}
.stack>[data-block="req"]{order:3}
.stack>[data-block="pipe"]{order:4}
.stack>[data-block="desc"]{order:5}
.stack>[data-block="orig"]{order:6}
.stack>[data-block="details"]{order:7}
html[data-aud="extern"] .fact[data-fact="recruiter"]{display:none}
html[data-aud="extern"] .fact .due{color:var(--c2-ink-2);font-weight:400}

/* ===== Fit-Block (extern) ===== */
.fitcard{border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);background:var(--c2-card);padding:20px 22px;margin-bottom:24px}
.fit-top{display:flex;gap:20px;align-items:center}
.ring{--p:76;position:relative;width:84px;height:84px;flex:0 0 84px;border-radius:50%;background:conic-gradient(var(--c2-accent) calc(var(--p)*1%),var(--c2-line-2) 0)}
.ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--c2-card)}
.ring .rv{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:1}
.ring .rn{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.ring .rl{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--c2-ink-3);font-weight:700;margin-top:2px}
.fit-lead{flex:1;min-width:0}
.fit-lead h2{font-size:var(--c2-fs-h2);font-weight:700;margin:0 0 4px;line-height:var(--c2-lh-tight)}
.fit-lead .who{font-size:var(--c2-fs-small);color:var(--c2-ink-2)}
.subscores{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c2-line-2);border:1px solid var(--c2-line-2);border-radius:var(--c2-r-chip);overflow:hidden;margin:16px 0}
.ss{background:var(--c2-card);padding:10px 12px}
.ss .ssv{font-size:var(--c2-fs-h2);font-weight:800;font-variant-numeric:tabular-nums}
.ss .ssl{font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--c2-ink-3);font-weight:700;margin-top:2px}
.must-soll .ms-h{font-size:var(--c2-fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-ink-3);font-weight:700;margin:0 0 9px}
.skillrow{display:flex;gap:7px;flex-wrap:wrap}
.skchip{font-size:var(--c2-fs-small);border-radius:var(--c2-r-tag);padding:5px 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c2-line-3);color:var(--c2-ink-2);background:var(--c2-card)}
.skchip.ok{border-color:var(--c2-accent);color:var(--c2-accent-text);background:var(--c2-accent-tile)}
.skchip.miss{border-color:var(--c2-danger);color:var(--c2-danger);background:var(--c2-danger-tile)}
.skchip .bi{font-size:13px}
.kirec{display:flex;gap:10px;align-items:flex-start;font-size:var(--c2-fs-small);color:var(--c2-ink);background:var(--c2-surface-2);border-radius:var(--c2-r-chip);padding:12px 14px;margin-top:16px}
.kirec .bi{color:var(--c2-accent-text);font-size:16px;margin-top:1px;flex:0 0 auto}
.kirec b{display:block;font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--c2-accent-text);margin-bottom:3px}
@media(max-width:560px){.subscores{grid-template-columns:repeat(2,1fr)}.fit-top{gap:14px}}

/* ===== Pipeline-Insight + erklärte Treffer ===== */
.insight{display:flex;gap:10px;align-items:flex-start;font-size:var(--c2-fs-small);color:var(--c2-ink);background:var(--c2-accent-tile);border-radius:var(--c2-r-chip);padding:11px 14px;margin-bottom:12px}
.insight .bi{color:var(--c2-accent-text);font-size:16px;margin-top:1px;flex:0 0 auto}
.insight b{font-weight:700}
.cmini .cexpl{font-size:var(--c2-fs-small);margin-top:2px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.cmini .cexpl .mustfrac{color:var(--c2-accent-text);font-weight:600}
.cmini .cexpl .gap{color:var(--c2-warn);font-weight:600}
.cmini .cexpl .sep{color:var(--c2-ink-3)}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ============================================================ *
 * V3 — SECTIONS (Linear / Notion / Vercel / Stripe-Vokabular)  *
 * Karten werden zu Sektionen: keine Container-Rähmen mehr,    *
 * stattdessen feine Trennlinien + viel Weißraum.              *
 * ============================================================ */

/* Eckdaten: 2-Spalten-Raster ohne interne Trennlinien — nur äußere Rahmen und Weißraum */
.facts{
  background:transparent;
  border:none;
  border-radius:0;
  border-top:1px solid var(--c2-line-2);
  border-bottom:1px solid var(--c2-line-2);
  gap:18px 32px;
  padding:18px 0;
  margin:0 0 32px;
  overflow:visible;
}
.fact{
  background:transparent;
  padding:0;
  border:none;
}
.fact:nth-child(odd){padding-right:0;border-right:none}
.fact:nth-child(even){padding-left:0}

/* Anforderungen: kein Karten-Rahmen, nur Section mit Untertrennlinie */
.reqcard{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0 0 22px;
  margin-bottom:28px;
  border-bottom:1px solid var(--c2-line-2);
}

/* Pipeline (Stand & Bewerber): horizontale Sektion, keine internen Linien */
.pipe{
  background:transparent;
  border:none;
  border-radius:0;
  border-top:1px solid var(--c2-line-2);
  border-bottom:1px solid var(--c2-line-2);
  gap:0;
  padding:8px 0;
  overflow:visible;
}
.pstep{
  background:transparent;
  border-left:none;
}

/* Beschreibung-Block braucht etwas Untertrennlinie zur Intern-Box */
[data-block="desc"] .block{padding-bottom:28px;border-bottom:1px solid var(--c2-line-2);margin-bottom:28px}
[data-block="pipe"]{padding-bottom:28px;border-bottom:1px solid var(--c2-line-2);margin-bottom:28px}

/* Sektion-Header etwas luftiger */
.sect-label{margin:0 0 14px;font-size:var(--c2-fs-label)}
.sec-head{margin-bottom:14px}

/* Insight (Pipeline-Erklärung): bleibt als Callout, aber etwas leiser */
.insight{margin-bottom:14px}


/* ===== Header-Hierarchie: Bearbeiten = Primäraktion ===== */
.idhead{align-items:flex-start;gap:20px}
.idhead .sub{row-gap:6px;column-gap:8px;font-weight:600;margin-bottom:26px}
.idhead .sub .sep{color:var(--c2-ink-3);font-weight:400}

/* Sublinks: „Ansprechpartner“ und „Original“ als Text-Links unter dem Titel */
.sublink{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;font-family:inherit;font-size:var(--c2-fs-small);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--c2-ink-2);cursor:pointer}
.sublink .bi{font-size:13px;color:var(--c2-ink-3)}
.sublink:hover{color:var(--c2-accent-text)} .sublink:hover .bi{color:var(--c2-accent-text)}

/* Kontakt-Popover sitzt jetzt im Sub-Line-Kontext */
.idhead .sub .menu{position:relative;display:inline-flex}
.idhead .sub .menu .menu-pop{top:calc(100% + 8px);right:auto;left:0}

/* Bearbeiten: gefüllter Primär-Button */
.lk.primary{background:var(--c2-accent);border-color:var(--c2-accent);color:var(--c2-on-accent)}
.lk.primary:hover{background:var(--c2-accent);filter:brightness(.92);border-color:var(--c2-accent)}
.lk.primary .bi{color:#fff}

/* Meta-Zeile: „Zuletzt geändert von … · vor …“ */
.meta-updated{margin-top:10px;font-size:var(--c2-fs-small);color:var(--c2-ink-3)}
.meta-updated b{color:var(--c2-ink-2);font-weight:600}

/* Topbar-Updated entfällt visuell (Info ist jetzt im Header) */
.topbar .updated{display:none}

/* ===== Beste Treffer: Match-Zahl dominanter, Status als Badge ===== */
.cscore .cv{font-size:30px;font-weight:800;line-height:1}
.cscore .cl{font-size:9px;letter-spacing:.08em;margin-top:2px}
.cmini{padding:16px 2px;gap:14px}
.cmini .cst{
  border:1px solid var(--c2-line-3);
  border-radius:999px;
  padding:3px 10px;
  font-size:var(--c2-fs-micro);
  letter-spacing:.05em;
  color:var(--c2-ink-2);
  background:transparent;
}

/* FIT-Block (oben) bleibt als Karte — das ist der Anker. */

/* ===== Quiet Edit Mode: Inline-Felder sehen aus wie Werte, bis sie berührt werden ===== */
/* Inputs außerhalb der Review-Karte verlieren die Default-Box-Optik */
html[data-mode="edit"] .edin,
html[data-mode="edit"] .edsel{
  background:transparent;
  background-color:transparent;
  border:1px solid transparent;
  border-radius:6px;
  box-shadow:none;
  font-weight:500;
  padding:6px 10px;
  margin-left:-10px;
  transition:background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
/* Select: Chevron erst bei Hover/Focus sichtbar — sonst wirkt's wie Text */
html[data-mode="edit"] .edsel{background-image:none;padding-right:10px;cursor:text}
html[data-mode="edit"] .edsel:hover,
html[data-mode="edit"] .edsel:focus{
  cursor:pointer;
  padding-right:32px;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238a8d93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:15px;
}
/* Hover: leiser Hint, dass das Feld editierbar ist */
html[data-mode="edit"] .edin:hover,
html[data-mode="edit"] .edsel:hover{
  background-color:var(--c2-surface-2);
  border-color:var(--c2-line-2);
}
/* Fokus: volle Input-Optik */
html[data-mode="edit"] .edin:focus,
html[data-mode="edit"] .edsel:focus{
  background-color:var(--c2-card);
  border-color:var(--c2-accent);
  box-shadow:0 0 0 3px var(--c2-accent-tile);
}
/* Placeholder soll im Quiet-Modus dezent bleiben */
html[data-mode="edit"] .edin::placeholder{color:var(--c2-ink-3);font-style:italic}

/* === Review-Karte: Entscheidungen sollen sichtbar Inputs sein (das ist der Hero) === */
html[data-mode="edit"] #reviewCard .edin,
html[data-mode="edit"] #reviewCard .edsel{
  background-color:var(--c2-card);
  border:1px solid var(--c2-line-3);
  border-radius:var(--c2-r-button);
  padding:7px 10px;
  margin-left:0;
  font-weight:400;
}
html[data-mode="edit"] #reviewCard .edsel{
  padding-right:32px;
  cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238a8d93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:15px;
}
html[data-mode="edit"] #reviewCard .edin:focus,
html[data-mode="edit"] #reviewCard .edsel:focus{
  border-color:var(--c2-accent);
  box-shadow:0 0 0 3px var(--c2-accent-tile);
}

/* === Primäre Eingaben: alle Inline-Felder bleiben quiet === */
/* Einzige Ausnahme: Bewerbungsfrist in der Aktivierungsbox (= Hero-Ort, siehe #reviewCard-Regel oben). */
/* Über [data-primary-edit] kann jedes Feld ad hoc als primär markiert werden. */
html[data-mode="edit"] [data-primary-edit] .edin,
html[data-mode="edit"] [data-primary-edit] .edsel{
  background-color:var(--c2-card);
  border:1px solid var(--c2-line-3);
  border-radius:var(--c2-r-button);
  padding:7px 10px;
  margin-left:0;
  font-weight:500;
}
html[data-mode="edit"] [data-primary-edit] .edsel{
  padding-right:32px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238a8d93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:15px;
}
html[data-mode="edit"] [data-primary-edit] .edin:hover,
html[data-mode="edit"] [data-primary-edit] .edsel:hover{background-color:var(--c2-card)}
html[data-mode="edit"] [data-primary-edit] .edin:focus,
html[data-mode="edit"] [data-primary-edit] .edsel:focus{
  border-color:var(--c2-accent);box-shadow:0 0 0 3px var(--c2-accent-tile);
}
/* Budget-Spinner & Währungs-Chevron: erst bei Hover/Focus sichtbar */
html[data-mode="edit"] #eRate{appearance:textfield;-moz-appearance:textfield}
html[data-mode="edit"] #eRate::-webkit-outer-spin-button,
html[data-mode="edit"] #eRate::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
html[data-mode="edit"] #eRate:hover,
html[data-mode="edit"] #eRate:focus{appearance:auto;-moz-appearance:number-input}
html[data-mode="edit"] #eRate:hover::-webkit-outer-spin-button,
html[data-mode="edit"] #eRate:hover::-webkit-inner-spin-button,
html[data-mode="edit"] #eRate:focus::-webkit-outer-spin-button,
html[data-mode="edit"] #eRate:focus::-webkit-inner-spin-button{-webkit-appearance:auto;margin:0}
/* Budget-Suffix („/h") und Währungs-Suffix in Quiet-Optik */
html[data-mode="edit"] .edsuffix{color:var(--c2-ink-3);font-weight:500}

/* === Aktivierungsbox: kompakter === */
.review{padding:18px 20px 14px;margin-bottom:14px}
.review-ki{margin-bottom:10px}
.review-title{font-size:var(--c2-fs-h2);margin:0 0 12px}
.rdecisions{gap:10px;margin-bottom:14px}
.review-actions{padding-top:12px}

/* „+ Option"-Pill bei Laufzeit: leiser, passt zum Quiet-Modus */
html[data-mode="edit"] .edopt{border-color:transparent;background:transparent;color:var(--c2-ink-2)}
html[data-mode="edit"] .edopt:hover{border-color:var(--c2-line-2);background:var(--c2-surface-2)}

/* Ausrichtung in .fact bleibt sauber: Quiet-Margin-Trick nur wenn nicht in .edrow */
html[data-mode="edit"] .edrow .edin,
html[data-mode="edit"] .edrow .edsel,
html[data-mode="edit"] .edsuf .edin,
html[data-mode="edit"] .edsuf .edsel{margin-left:0}

/* Skill-Chips bleiben wie sie sind (gefallen dem User). ce-edit (Titel/Beschreibung) auch. */

/* In schmal: 1-spaltig, Sublink-Wrap */
@media(max-width:540px){
  .facts{grid-template-columns:1fr;gap:14px 0}
  .idhead .links{flex:1 1 100%}
  .lk.primary{width:100%;justify-content:center}
}

/* Pipeline-Lese-Anzeige + Beste-Treffer (Dossier-Vereinfachung) + leerer Wert */
.pipe-kpis{display:flex;gap:10px;margin:4px 0 16px}
.pk{flex:1;border:1px solid var(--c2-line-2);border-radius:var(--c2-r-card);padding:12px 14px;text-align:center}
.pk .pkn{display:block;font-family:var(--c2-font-mono);font-size:var(--c2-fs-h1);font-weight:800;color:var(--c2-ink);line-height:1}
.pk .pkl{display:block;font-size:var(--c2-fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--c2-ink-3);font-weight:700;margin-top:6px}
.bestfit-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--c2-line);text-decoration:none;color:inherit}
.bestfit-row:hover{background:var(--c2-surface-2)}
.bestfit-row .av{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--c2-accent-tile);color:var(--c2-accent-text);display:grid;place-items:center;font-weight:700;font-size:var(--c2-fs-small)}
.bestfit-row .bf-body{flex:1;min-width:0}
.bestfit-row .bf-n{display:block;font-weight:700;font-size:var(--c2-fs-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestfit-row .bf-r{display:block;font-size:var(--c2-fs-label);color:var(--c2-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestfit-row .bf-m{font-family:var(--c2-font-mono);font-size:var(--c2-fs-h2);font-weight:800;color:var(--c2-accent-text)}
.bestfit-row .bf-m .pct{font-size:.5em;font-weight:700;margin-left:1px}
.bestfit-row .bf-m.ok{color:var(--c2-success)}
.bestfit-row .bf-m.mid{color:var(--c2-warn)}
/* Evidenz-Zeile: macht die Zahl nachvollziehbar (N/M Pflichtskills, Ausschlussgründe). */
.bestfit-row .bf-ev{display:block;font-size:var(--c2-fs-micro);color:var(--c2-ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestfit-row .bf-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:0 0 auto;text-align:right}
/* Empfehlungs-Status statt/neben dem Score — bei fehlender Evidenz führt der Status, kein „%". */
.bestfit-row .bf-status{font-size:var(--c2-fs-micro);font-weight:700;letter-spacing:.02em;line-height:1.2;max-width:180px;text-align:right}
.bestfit-row .bf-status.ok{color:var(--c2-success)}
.bestfit-row .bf-status.mid{color:var(--c2-warn)}
.bestfit-row .bf-status.thin{color:var(--c2-ink-3)}
.bestfit-row .bf-status.excl{color:var(--c2-danger)}
.bestfit-row.bf-thin .bf-n,.bestfit-row.bf-excl .bf-n{font-weight:600}
.bestfit-row .bi{color:var(--c2-ink-3);font-size:14px}
.muted-na{color:var(--c2-ink-3);font-size:var(--c2-fs-small)}
.read-only-keep{display:block}

/* ============================================================
 * Review 19 — LINIEN-AUDIT (welche Linien brauchen wir wirklich)
 * Problem: PR1 legte zusätzlich zu den kanonischen Per-Block-Linien
 * (facts/reqcard/pipe/desc) noch eine .section-Linie unter JEDE Section
 * → Doppellinien + „leere Zeilen zwischen zwei Linien" (desc-unten + intern-oben).
 *
 * Entscheidung: nur ZWEI bedeutungstragende Linien-Sets behalten —
 *   1) Eckdaten-Raster: äußerer Rahmen oben+unten (Briefing Z.32/79, Anker-Daten)
 *   2) Grenze öffentlich ↔ intern: Oberlinie der INTERNE-DATEN-Klappe
 * Alles dazwischen trennt reiner Whitespace + das Uppercase-Section-Label.
 * ============================================================ */

/* 1) Generische .section-Linie raus — Whitespace trennt (Padding/Margin bleiben). */
.section{border-bottom:0}
.section--last,.section:last-child{padding-bottom:0;margin-bottom:0}

/* 2) Eckdaten: Anker-Raster mit feinem Rahmen oben+unten, keine internen Linien. */
.section>.facts{
  border-top:1px solid var(--c2-line-2);
  border-bottom:1px solid var(--c2-line-2);
  padding:18px 0;margin:0;
}

/* 3) Anforderungen / Pipeline / Beschreibung: keine eigene Trennlinie (Whitespace). */
.section>.reqcard{border-bottom:0;margin-bottom:0;padding-bottom:0}
[data-block="pipe"]{border-bottom:0}   /* nur Linie raus — Section-Whitespace bleibt */
.pipe{border-top:0;border-bottom:0}
[data-block="desc"] .block,.section [data-block="desc"] .block{border-bottom:0;margin-bottom:0;padding-bottom:0}

/* 4) INTERNE ANGABEN (R25): keine eigene Oberlinie mehr — sie stehen offen direkt unter den
 *    Eckdaten, deren Unterlinie die Grenze bereits markiert. Die Unterlinie des internen
 *    Rasters trennt dann wieder zurück nach öffentlich (Anforderungen). */

/* ============================================================
 * Review 19 — Freelancer-Vorschau (Audience-Toggle)
 * Dieselbe Seite, read-only: Pipeline / Beste Treffer / Interne Daten /
 * Edit-Affordances / Match-Board-Hinweis ausgeblendet. Aktiviert über
 * <html data-audience="freelancer"> (Controller: ?as=freelancer).
 * ============================================================ */
html[data-audience="freelancer"] .recruiter-only{display:none!important}
html[data-audience="freelancer"] .req-note,
html[data-audience="freelancer"] .meta-updated,
html[data-audience="freelancer"] #origLink,
html[data-audience="freelancer"] .footer.read-only{display:none!important}
/* ohne fixen Footer kein Reserveplatz mehr nötig */
html[data-audience="freelancer"] .page{padding-bottom:40px}
/* Vorschau-Badge in der Topbar */
.audience-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--c2-fs-small);font-weight:600;color:var(--c2-accent-text);background:var(--c2-accent-tile);border-radius:999px;padding:4px 11px}
.audience-badge .bi{font-size:13px}

/* ============================================================
 * Review 19 A — FIT-Block im Kandidaten-Dossier v2 (Anker-Block)
 * Nutzt den bestehenden .fitcard/.ring/.subscores/.skchip/.kirec-Satz.
 * Anker-Block (Karten-Rahmen) ist laut Briefing die erlaubte Ausnahme.
 * ============================================================ */
.fit-anchor{margin-bottom:30px}
.fit-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.fit-clear{display:inline-flex;align-items:center;gap:6px;border:none;background:none;cursor:pointer;font-family:inherit;text-decoration:none;font-size:var(--c2-fs-small);color:var(--c2-ink-3);min-height:32px;border-radius:var(--c2-r-chip)}
.fit-clear:hover{color:var(--c2-accent-text)}
.fit-verdict{font-size:var(--c2-fs-label);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;color:var(--c2-ink-2)}
.fit-verdict.is-strong{color:var(--c2-success)}
.fit-verdict.is-good{color:var(--c2-accent-text)}
.fit-verdict.is-mid{color:var(--c2-warn)}
.fit-verdict.is-low{color:var(--c2-danger)}
.fit-lead h2 .role-link{color:inherit;text-decoration:none}
.fit-lead h2 .role-link:hover{color:var(--c2-accent-text);text-decoration:underline}
.fit-lead h2 .pid{font-family:var(--c2-font-mono);font-size:var(--c2-fs-small);color:var(--c2-ink-3);font-weight:400;margin-left:8px}
.ss.low .ssv{color:var(--c2-danger)} .ss.mid .ssv{color:var(--c2-warn)}
/* Match-Ziffer im Ring nutzt Verdict-neutrale Tinte (Farbe trägt der Ring) */
.ring .rn{color:var(--c2-ink)}
/* FIT ist Lese-Kontext — im Edit-Modus ausgeblendet (Fokus auf editierbare Felder) */
html[data-mode="edit"] [data-block="fit"]{display:none}

/* ============================================================
 * Review 19 A — Öffentliche Profil-Vorschau (Kandidaten-Dossier)
 * data-audience="public": kein Match/FIT, kein Kontakt-Routing, kein Edit,
 * keine internen Meta-Zeilen. Analog zur Freelancer-Vorschau beim Projekt.
 * ============================================================ */
html[data-audience="public"] .recruiter-only,
html[data-audience="public"] .edit-sec,
html[data-audience="public"] .updated,
html[data-audience="public"] .footer,
html[data-audience="public"] #toEdit,
html[data-audience="public"] #toEdit2{display:none!important}
html[data-audience="public"] .page{padding-bottom:40px}

/* Laufzeit-Edit (Monate + „+ Option") — Review 22 Dossier-Eckdaten */
html[data-mode="edit"] .lz-edit{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.lz-edit .edsuf{display:inline-flex;align-items:center;gap:6px}
.lz-opt{display:inline-flex;align-items:center;gap:6px;font-size:var(--c2-fs-small);color:var(--c2-ink-2);white-space:nowrap;cursor:pointer;user-select:none}
.lz-opt input{width:16px;height:16px;accent-color:var(--c2-accent);cursor:pointer}
.lz-opt-ro{color:var(--c2-ink-3)}

/* c2-datepicker (R23): Wrapper folgt dem Edit/View-Toggle wie .edview (sonst Orphan-Icon im Lesemodus) */
html:not([data-mode="edit"]) .dpx{display:none}

/* Budget-Edit: Betrag + Währung + Einheit nebeneinander (Interne Daten) */
html[data-mode="edit"] .facts--intern .edrow{display:flex;gap:8px;align-items:center}
.edrow .edcur{flex:0 0 auto;width:auto;min-width:72px}
.edrow .edunit{flex:0 0 auto;width:auto;min-width:104px}

/* Review 24 — konsolidierter Hero-Status (#statusWrap): ein Ort. Entwurf = statische Badge;
   im Edit-Modus nur bei Entwurf sichtbar (Editor = Stammdaten, kein Status-Werkzeug). */
#statusWrap{display:inline-flex}
#statusWrap.is-static .cv{display:none}
#statusWrap.is-static .x-status{cursor:default}
#statusWrap.is-static:hover .x-status,
#statusWrap.is-static:focus-within .x-status{visibility:visible}
#statusWrap.is-static:hover .x-seg2,
#statusWrap.is-static:focus-within .x-seg2{display:none}
html[data-mode="edit"] #statusWrap{display:none}
html[data-mode="edit"] #statusWrap.is-draft{display:inline-flex}

/* Status per Klick öffnen (zusätzlich zum Hover) — Review 24 Folge */
.x-statuswrap.is-open .x-status{visibility:hidden}
.x-statuswrap.is-open .x-seg2{display:inline-flex}
#statusWrap.is-static.is-open .x-seg2{display:none}
#statusWrap.is-static.is-open .x-status{visibility:visible}

/* Ansprechpartner-Popover (Recruiter-Kontakt = wohin Bewerbungen gehen) */
/* Das Ansprechpartner-Popover in der Titelzeile ist mit R25 entfallen — der Kontakt steht
   jetzt als Feld in „Weitere interne Angaben“. Die .ap-wrap/.ap-pop/.ap-row/.ap-copy-Regeln
   hatten danach kein Markup mehr. */

/* Nicht-Recruiter (Freelancer-Vorschau / Public / Beratungshaus = html[data-audience]):
   Status bleibt SICHTBAR, aber read-only — kein Chevron, kein Hover-/Klick-Menü. */
html[data-audience] #statusWrap .cv{display:none}
html[data-audience] #statusWrap .x-status{cursor:default}
html[data-audience] #statusWrap:hover .x-status,
html[data-audience] #statusWrap.is-open .x-status{visibility:visible}
html[data-audience] #statusWrap:hover .x-seg2,
html[data-audience] #statusWrap.is-open .x-seg2{display:none}

/* Topbar-Konsistenz mit Cockpit/Experten: Logo-Hell/Dunkel-Wechsel + Theme-Toggle-Button.
   Fehlten hier → Geister-Doppel-Logo (beide Logos sichtbar) und unstyled Toggle. */
.lv-logo-dark{display:none}
:root[data-theme="dark"] .lv-logo-light{display:none}
:root[data-theme="dark"] .lv-logo-dark{display:block}
.tb-theme{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:none;background:none;color:var(--c2-ink-2);cursor:pointer;font-family:inherit;flex:0 0 auto}
.tb-theme:hover{background:var(--c2-surface-2);color:var(--c2-ink)}
.tb-theme .bi{font-size:16px}

/* ============================================================
 * Fußleiste: Reserveplatz + Skill-Chips bearbeiten
 * ============================================================ */

/* Die Fußleiste ist fixiert und rund 71px hoch (46px Knopf + 2×12px + Linie). Mit nur 40px
 * Bodenabstand lag sie über dem letzten Block — genau über „Interne Daten", die dadurch
 * unerreichbar waren. Der Abstand richtet sich jetzt nach der tatsächlichen Höhe.
 * Die audience-Overrides (freelancer/public, ohne Fußleiste) stehen weiter unten und gewinnen. */
:root{--c2-dossier-footer-h:71px}
@media (min-width:561px){ .page{padding-bottom:calc(var(--c2-dossier-footer-h) + 34px)} }


/* Skill-Chips: Lesemodus unverändert, im Edit bekommt jeder Chip ein × und die Liste eine
 * Ghost-Zeile zum Ergänzen (Eingabe-Stil nach Zweck: Chips = Mengen). */
.chip-x{display:none;border:none;background:none;padding:0 0 0 2px;margin-left:2px;cursor:pointer;
        color:inherit;opacity:.45;font-size:15px;line-height:1;font-family:inherit}
.chip-x:hover{opacity:1}
html[data-mode="edit"] .chip-x{display:inline-block}
.chip-add{display:none;border:none;background:none;font-family:inherit;font-size:var(--c2-fs-small);
          color:var(--c2-ink);padding:5px 2px;min-width:150px;flex:1 1 150px;outline:none;
          border-bottom:1px solid var(--c2-line-2)}
.chip-add::placeholder{color:var(--c2-ink-3)}
.chip-add:focus{border-bottom-color:var(--c2-accent)}
html[data-mode="edit"] .chip-add{display:inline-block}
/* Im Lesemodus verschwindet der Hinweis „keine … hinterlegt", sobald etwas drinsteht;
 * im Edit ist die Ghost-Zeile selbst die Einladung — der Satz wäre dann doppelt. */
html[data-mode="edit"] .chips-empty{display:none}
