/* ═══════════════════════════════════════════════════════════════════════════════
 * ZENTRALER EINGANGSKORB — Namespace `.ib-`.
 * Ausschließlich Tokens aus design-system.css. Keine Hex-Farben, keine rohen px
 * für Abstände/Schriftgrößen. Liste = VIFilters/VITable (bringen ihre Optik mit);
 * hier steht nur die Triage-Ansicht und die Schnellerfassung.
 * ═══════════════════════════════════════════════════════════════════════════════ */

/* Dringende offene Eingänge tragen sichtbar Gewicht in der Liste. */
.vi-tbl-scroll tr.is-urgent td:first-child { box-shadow: inset 3px 0 0 var(--color-danger); }

/* ── Triage-Ansicht (im zentralen App-Dialog) ───────────────────────────────── */
.ib-triage { display: flex; flex-direction: column; gap: var(--space-4); }

.ib-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.ib-head-badges { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }

.ib-block {
  border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-4); background: var(--color-surface);
  display: flex; flex-direction: column; gap: var(--space-3);
}
.ib-h3 { font-size: var(--text-base); font-weight: 600; margin: 0; }
.ib-subject { font-size: var(--text-lg); font-weight: 600; }
.ib-note { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }
.ib-req { color: var(--color-danger); }

.ib-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-2) var(--space-5); }
.ib-meta-row { display: flex; flex-direction: column; gap: var(--space-1); }
.ib-meta-l { font-size: var(--text-xs); color: var(--color-text-muted); }
.ib-meta-v { font-size: var(--text-sm); }

.ib-desc { font-size: var(--text-sm); line-height: 1.55; }
.ib-orig summary { cursor: pointer; font-size: var(--text-sm); color: var(--color-text-muted); }
.ib-pre {
  font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.5;
  white-space: pre-wrap; word-break: break-word; margin: var(--space-2) 0 0;
  padding: var(--space-3); background: var(--color-surface-sunken, var(--color-bg));
  border: 1px solid var(--color-border); border-radius: var(--radius-md);
  max-height: 40vh; overflow: auto;
}
.ib-docs { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.ib-docs-mt { margin-top: var(--space-2); }
.ib-doc {
  display: inline-flex; align-items: center; gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border); border-radius: var(--radius-full, 999px);
  font-size: var(--text-xs); text-decoration: none; color: var(--color-text);
  background: var(--color-surface);
}
.ib-doc:hover { border-color: var(--color-info); color: var(--color-info-ink); }
/* AP 1.2 — je Anhang: öffnen ODER als Wartungsnachweis einordnen. Die Aktion ist
   bewusst zurückhaltend (Textknopf, kein zweiter Primärknopf) — sie steht neben
   einem von mehreren Anhängen, nicht am Vorgang. */
.ib-doc-row { display: inline-flex; align-items: center; gap: var(--space-2); }
.ib-doc-act {
  background: none; border: 0; padding: 0; cursor: pointer; font: inherit;
  font-size: var(--text-xs); color: var(--color-sage); text-decoration: underline;
}
.ib-doc-act:hover { color: var(--color-forest); }

/* ── Vorschläge: erklärte Treffer, keine nackte Prozentzahl ─────────────────── */
.ib-sug {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: var(--color-surface);
}
.ib-sug + .ib-sug { margin-top: var(--space-2); }
.ib-sug-main { min-width: 0; font-size: var(--text-sm); }
.ib-sug-sub { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-1); }
.ib-sug-why { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-1); font-size: var(--text-xs); }
.ib-sug-go { flex-shrink: 0; }
.ib-ref { font-weight: 600; font-variant-numeric: tabular-nums; }
.ib-cs-list { margin-top: var(--space-3); max-height: 45vh; overflow: auto; }

/* ── Aktionszeilen: EINE Primäraktion, Alternativen ruhig darunter ──────────── */
.ib-btnrow { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.ib-btnrow-main { margin-top: var(--space-2); }
.ib-btnrow-alt { border-top: 1px solid var(--color-border); padding-top: var(--space-3); }

/* ── Verlauf ────────────────────────────────────────────────────────────────── */
.ib-evlist { display: flex; flex-direction: column; gap: var(--space-1); margin-top: var(--space-2); }
.ib-ev { font-size: var(--text-xs); color: var(--color-text-muted); }
.ib-ev-t { font-variant-numeric: tabular-nums; color: var(--color-text); }

/* ── Formulare (Schnellerfassung / Vorgang erstellen) ───────────────────────── */
.ib-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--space-3); }
@media (max-width: 640px) {
  .ib-grid2 { grid-template-columns: 1fr; }
  .ib-sug { flex-direction: column; align-items: stretch; }
}

/* ═══════════ VORGANGS-WORKSPACE: nächste Aktion + Wartegrund ═════════════════
   Gerendert in #ws-process im workspace-hero (app.js _caseProcessLoad).
   Die Prozesskette, die hier links stand, ist am 10.09.2026 ersatzlos entfallen
   (Nutzerentscheidung) — mit ihr die Einbettungsregeln .ws-chain. Nicht wieder
   anlegen. Zielhöhe ~34 px; ohne Inhalt verschwindet die Zeile ganz. */
.ws-process {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: 6px;
  min-height: 30px;
  flex-wrap: nowrap;
}
.ws-process:empty { display: none; }
.ws-process > .ws-next { flex: 0 0 auto; margin: 0; }

.ws-next { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; font-size: var(--text-sm); }
.ws-next-l { font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-text-muted); }
.ws-next-v {
  background: none; border: none; padding: 0; cursor: pointer;
  font: inherit; font-weight: 600; color: var(--color-text);
  border-bottom: 1px dashed var(--color-border); text-align: left;
}
.ws-next-v:hover { color: var(--color-info-ink); border-bottom-color: var(--color-info); }
.ws-next-due { font-size: var(--text-xs); color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.ws-next-due.is-overdue { color: var(--color-danger-ink); font-weight: 600; }
.ws-next-owner { font-size: var(--text-xs); color: var(--color-text-muted); }
.ws-next-add { background: none; border: 1px dashed var(--color-border); border-radius: var(--radius-full, 999px); padding: var(--space-1) var(--space-3); cursor: pointer; font-size: var(--text-xs); color: var(--color-text-muted); }
.ws-next-add:hover { color: var(--color-info-ink); border-color: var(--color-info); }
/* Zeigt die nächste Aktion auf einen Eintrag der Arbeitsliste, springt der Text dorthin —
   das Bearbeiten des Textes bleibt über dieses ruhige Stiftsymbol erreichbar. */
.ws-next-edit { background: none; border: none; padding: 0 var(--space-1); cursor: pointer; font-size: var(--text-xs); color: var(--color-text-muted); line-height: 1; }
.ws-next-edit:hover { color: var(--color-info-ink); }
.ws-wait { font-size: var(--text-sm); color: var(--color-warning-ink); }

/* ── Abschluss-Checkliste (Modal) ───────────────────────────────────────────── */
.ws-checklist { display: flex; flex-direction: column; gap: var(--space-2); }
.ws-check {
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border); border-radius: var(--radius-md);
  font-size: var(--text-sm); background: var(--color-surface);
}
.ws-check-ic { flex-shrink: 0; font-weight: 700; width: 1.25em; text-align: center; }
.ws-check.is-ok .ws-check-ic { color: var(--color-success-ink); }
.ws-check.is-open .ws-check-ic { color: var(--color-danger-ink); }
.ws-check.is-warn .ws-check-ic { color: var(--color-warning-ink); }
.ws-check.is-ok { background: var(--color-success-soft); border-color: transparent; }
.ws-check-t { flex: 1; min-width: 0; }
.ws-check-d { color: var(--color-text-muted); font-size: var(--text-xs); }
.ws-check-btn { flex-shrink: 0; }

/* ── Administration: Prozessvorlagen (.pa-) ─────────────────────────────────── */
.pa-wrap { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: var(--space-4); align-items: start; }
.pa-list { display: flex; flex-direction: column; gap: var(--space-1); }
.pa-item {
  display: flex; flex-direction: column; gap: var(--space-1); text-align: left; cursor: pointer;
  padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border);
  border-radius: var(--radius-md); background: var(--color-surface);
}
.pa-item.is-sel { border-color: var(--color-info); background: var(--color-info-soft); }
.pa-item.is-off .pa-item-n { color: var(--color-text-muted); text-decoration: line-through; }
.pa-item-n { font-weight: 600; font-size: var(--text-sm); }
.pa-item-s { font-size: var(--text-xs); color: var(--color-text-muted); }
.pa-edit { border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-4); background: var(--color-surface); }
.pa-head { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.pa-step { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-1); }
.pa-step-label { flex: 1; }
.pa-step-opt { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--text-xs); color: var(--color-text-muted); white-space: nowrap; }
.pa-step-tools { display: inline-flex; gap: var(--space-1); }
.pa-checks { margin: 0; padding-left: var(--space-5); font-size: var(--text-sm); }
.pa-rules { font-family: var(--font-mono); font-size: var(--text-xs); margin-top: var(--space-2); }
@media (max-width: 900px) { .pa-wrap { grid-template-columns: 1fr; } }

/* ── Eingänge-Block in der Vorgangs-Übersicht ───────────────────────────────── */
.ws-ib-list { display: flex; flex-direction: column; gap: var(--space-1); }
.ws-ib-row {
  display: flex; align-items: baseline; gap: var(--space-2);
  padding: var(--space-1) 0; cursor: pointer; font-size: var(--text-sm);
  border: none; background: none; text-align: left; min-width: 0;
}
.ws-ib-row:hover .ws-ib-sub { color: var(--color-info-ink); }
.ws-ib-src { font-size: var(--text-xs); color: var(--color-text-muted); flex-shrink: 0; }
.ws-ib-sub { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-ib-date { font-size: var(--text-xs); color: var(--color-text-muted); font-variant-numeric: tabular-nums; flex-shrink: 0; }
