/* ── Case Vault Part 4b: «Fälle» rail entry, list (S6/S7).
   Tokens only (styles/tokens.css); .ws-seg / .ws-seg-item / .ws-head-title from ws-doc.css. */
.ws-main { position: relative; }

/* rail entry: a step-shaped row under the steps, count on the right */
.ws-cases-entry { margin-top: var(--lysi-s-12); font-size: var(--lysi-fs-14); width: 100%; }
.ws-cases-n { margin-left: auto; font: 600 var(--lysi-fs-11-5) var(--lysi-font-mono); color: var(--lysi-ink3); }

/* list panel over #wsMain */
.ws-cases {
  position: absolute; inset: 0; z-index: 5; display: flex; flex-direction: column; gap: var(--lysi-s-12);
  padding: var(--lysi-s-20) var(--lysi-s-28); background: var(--lysi-main); color: var(--lysi-ink); overflow: auto;
}
.ws-cases[hidden] { display: none; }
.ws-cases-head { display: flex; align-items: center; gap: var(--lysi-s-16); }
.ws-cases-search {
  flex: 1; max-width: 420px; font: inherit; font-size: var(--lysi-fs-13-5); color: var(--lysi-ink);
  padding: var(--lysi-s-8) var(--lysi-s-12); border: 1px solid var(--lysi-border); border-radius: var(--lysi-r-8); background: var(--lysi-card);
}
.ws-cases-close { margin-left: auto; }
.ws-cases-tabs { align-self: flex-start; }
.ws-cases-note, .ws-cases-empty { margin: 0; font-size: var(--lysi-fs-13); color: var(--lysi-ink3); }
.ws-cases-rows { display: flex; flex-direction: column; gap: var(--lysi-s-6); }

.ws-case-row {
  position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--lysi-s-8);
  padding: var(--lysi-s-10) var(--lysi-s-12); background: var(--lysi-card); border: 1px solid var(--lysi-border); border-radius: var(--lysi-r-10);
}
.ws-case-main {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--lysi-s-2); text-align: left;
  border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer;
}
div.ws-case-main { cursor: default; }
.ws-case-name { font-size: var(--lysi-fs-14); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-case-meta { display: flex; flex-wrap: wrap; gap: var(--lysi-s-12); font-size: var(--lysi-fs-12); color: var(--lysi-ink3); }
.ws-case-state { font-weight: 600; }
.ws-case-state.is-waiting { color: var(--lysi-warn-ink); }
.ws-case-state.is-done { color: var(--lysi-ok-ink); }
.ws-case-rename-input {
  font: inherit; font-size: var(--lysi-fs-14); padding: var(--lysi-s-4) var(--lysi-s-8); color: var(--lysi-ink);
  border: 1px solid var(--lysi-accent); border-radius: var(--lysi-r-6); background: var(--lysi-card); max-width: 360px;
}

.ws-case-acts { position: relative; display: flex; align-items: center; gap: var(--lysi-s-4); }
.ws-case-ico {
  display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px;
  border: 0; border-radius: var(--lysi-r-6); background: none; color: var(--lysi-ink2); cursor: pointer;
}
.ws-case-ico:hover, .ws-case-row.is-menu .ws-case-more { background: var(--lysi-row-on); color: var(--lysi-ink); }
.ws-case-btn {
  font: inherit; font-size: var(--lysi-fs-12-5); font-weight: 500; padding: var(--lysi-s-6) var(--lysi-s-10); cursor: pointer;
  border: 1px solid var(--lysi-border); border-radius: var(--lysi-r-6); background: var(--lysi-card); color: var(--lysi-ink);
}
.ws-case-btn.is-danger, .ws-case-menu-item.is-danger { color: var(--lysi-warn-ink); }
.ws-case-menu {
  position: absolute; top: 34px; right: 0; z-index: 6; min-width: 160px; padding: var(--lysi-s-4);
  background: var(--lysi-card); border: 1px solid var(--lysi-border); border-radius: var(--lysi-r-8); box-shadow: var(--lysi-shadow-panel);
}
.ws-case-menu-item {
  display: block; width: 100%; text-align: left; font: inherit; font-size: var(--lysi-fs-13);
  padding: var(--lysi-s-6) var(--lysi-s-10); border: 0; border-radius: var(--lysi-r-6); background: none; cursor: pointer;
}
.ws-case-menu-item:hover { background: var(--lysi-row-on); }
.ws-case-confirm {
  flex-basis: 100%; display: flex; align-items: center; gap: var(--lysi-s-8); padding: var(--lysi-s-8) var(--lysi-s-10);
  background: var(--lysi-warn-row); border: 1px solid var(--lysi-warn-border); border-radius: var(--lysi-r-6); font-size: var(--lysi-fs-12-5);
}
.ws-case-confirm-text { flex: 1; color: var(--lysi-warn-ink); }

.update-banner-loss { font-weight: 600; }
