/* ZCoreSuche — der Vorschlagskasten.
   umlaut-ok: Klassennamen in ASCII (zs-kasten, zs-zeile) — Bezeichner.
   Der Kasten haengt an <body> und steht per position:fixed am Feld;
   Masse und Farben kommen aus dem Corporate Design (Sage 2px, Radius 0). */

.zs-kasten {
  position: fixed;
  z-index: 4000;
  overflow-y: auto;
  background: var(--bg-card, #fff);
  border: 2px solid var(--cd-sage, #9aaba6);
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(15, 31, 54, .18);
  font-family: inherit;
  /* Das Suchfeld im Blattkopf nimmt die ganze Breite — ein 1300 px breiter
     Kasten zieht den Blick quer über den Schirm. 640 px reichen für Name
     und Zusatz (gemessen 21.09.2026 im Gutsbüro, 1440 px Fenster). */
  max-width: 640px;
}

.zs-zeile {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .8rem;
  padding: .48rem .7rem;
  cursor: pointer;
  font-size: .85rem;
  line-height: 1.35;
  color: var(--cd-navy-text, #0f1f36);
  border-bottom: 1px solid var(--border-subtle, #e2e8f0);
}
.zs-zeile:last-child { border-bottom: none; }
.zs-zeile:hover,
.zs-zeile.an { background: rgba(154, 171, 166, .22); }

.zs-links { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.zs-rechts { color: var(--text-muted, #64748b); white-space: nowrap;
  font-size: .78rem; }

.zs-zeile mark {
  background: rgba(160, 52, 26, .18);
  color: var(--rostrot, #a0341a);
  font-weight: 600;
  padding: 0 1px;
  border-radius: 0;
}

.zs-zeile.leer {
  color: var(--text-muted, #64748b);
  cursor: default;
  justify-content: flex-start;
}
.zs-zeile.leer:hover { background: transparent; }

[data-theme="dark"] .zs-kasten {
  background: var(--bg-card, #16202f);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
}
[data-theme="dark"] .zs-zeile mark {
  background: rgba(221, 108, 81, .22);
  color: #dd6c51;
}

/* Zusatzfarben für die rechte Spalte (Kasse: Bestand). */
.zs-rechts.gut { color: #3d9970; }
.zs-rechts.aus { color: var(--rostrot, #a0341a); font-weight: 600; }
[data-theme="dark"] .zs-rechts.aus { color: #dd6c51; }

/* Überschrift über den Treffern einer Art (Suche über alles, 21.09.2026).
   Klein, gesperrt, Navy auf hellem Sage — sie ordnet, sie ist kein Treffer. */
.zs-gruppe {
  padding: .55rem .7rem .25rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--cd-navy-text, #0f1f36);
  background: #eef2f1;
  border-bottom: 1px solid var(--border-subtle, #e2e8f0);
  cursor: default;
  position: sticky;
  top: 0;
}
[data-theme="dark"] .zs-gruppe { color: #cbd5e1; background: #1b2a40; }

/* Ein Ort oder eine Handlung statt eines Datensatzes: fett, mit Pfeil. */
.zs-zeile.ort .zs-links { font-weight: 600; }
.zs-zeile.ort .zs-links::after { content: " →"; color: var(--rostrot, #a0341a); }
[data-theme="dark"] .zs-zeile.ort .zs-links::after { color: #dd6c51; }
/* „alle 47 zeigen“ — leiser als ein Treffer, aber anklickbar. */
.zs-zeile.mehr .zs-links { color: var(--rostrot, #a0341a); font-size: .8rem; }
[data-theme="dark"] .zs-zeile.mehr .zs-links { color: #dd6c51; }

/* Zustandswort am Zeilenende (Suche über alles): eine Breite, damit die
   Spalte davor bündig bleibt. */
.zs-marke { flex: none; width: 6.4rem; text-align: right; font-size: .74rem;
  color: var(--cd-navy-text, #0f1f36); white-space: nowrap; }
[data-theme="dark"] .zs-marke { color: #cbd5e1; }

/* Eine Überschrift, die selbst eine Tür ist (Suche im Kopf, 21.09.2026). */
.zs-gruppe.klickbar { cursor: pointer; }
.zs-gruppe.klickbar::after { content: " →"; color: var(--rostrot, #a0341a); }
.zs-gruppe.klickbar:hover { background: #e2e9e7; }
[data-theme="dark"] .zs-gruppe.klickbar:hover { background: #22344f; }

/* Ziffern stehen gerade, auch in Playfair (Ansage Master 16.10.2026). */
*,*::before,*::after{font-variant-numeric:lining-nums}
