/* Suche: Treffer mit Auszug, Objektarten als Facetten, Palette mit Farbpunkt und Auszug. */
mark { background: var(--accent-soft); color: inherit; border-radius: var(--r-1); padding: 0 1px; box-shadow: 0 0 0 1px var(--accent-border); }

.suchleiste input[type="search"] { flex: 1; min-width: 14rem; font-size: var(--fs-md); padding: var(--s-2) var(--s-3); }
.facetten, .sortierung { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; margin: var(--s-3) 0; }
.facette { display: inline-flex; align-items: center; gap: var(--s-2); padding: 3px var(--s-3); border: 1px solid var(--line); border-radius: var(--r-full); color: var(--fg-muted); font-size: var(--fs-sm); background: var(--surface-1); }
.facette span:last-child { color: var(--fg-subtle); font-variant-numeric: tabular-nums; }
.facette:hover { border-color: var(--line-strong); color: var(--fg); }
.facette.active { background: var(--accent-soft); border-color: var(--accent-border); color: var(--fg-strong); }

.treffer-punkt { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: var(--r-full); background: var(--typ-farbe, var(--fg-subtle)); margin-right: var(--s-2); }
[data-farbe="blue"] { --typ-farbe: var(--accent); }
[data-farbe="indigo"] { --typ-farbe: var(--st-open); }
[data-farbe="purple"] { --typ-farbe: var(--relation); }
[data-farbe="green"] { --typ-farbe: var(--ok); }
[data-farbe="teal"] { --typ-farbe: var(--st-in-progress); }
[data-farbe="red"] { --typ-farbe: var(--danger); }
[data-farbe="orange"] { --typ-farbe: var(--warn); }
[data-farbe="yellow"] { --typ-farbe: var(--st-waiting); }
[data-farbe="brown"] { --typ-farbe: var(--st-paused); }

.search-results .treffer > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: start; gap: var(--s-2) var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-2); }
.search-results .treffer > a:hover, .search-results .treffer > a:focus-visible { background: var(--surface-2); }
.search-results .treffer .treffer-punkt { margin: 7px 0 0; }
.treffer-text { display: grid; gap: 2px; min-width: 0; }
.hit-title { color: var(--fg-strong); font-weight: 600; overflow-wrap: anywhere; }
.hit-snippet { color: var(--fg-muted); font-size: var(--fs-sm); line-height: 1.45; overflow-wrap: anywhere; }
.search-group .status-section-title h2 { display: inline-flex; align-items: center; }

/* Palette */
.palette-row { align-items: flex-start; }
.palette-row .treffer-punkt { margin: 6px var(--s-2) 0 0; }
.palette-text { display: grid; gap: 1px; min-width: 0; flex: 1; }
.palette-titel { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palette-auszug { color: var(--fg-muted); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palette-facetten { display: flex; flex-wrap: wrap; gap: var(--s-1); padding: var(--s-1) var(--s-3) var(--s-2); }
.palette-facetten button { padding: 1px var(--s-2); border: 1px solid var(--line); border-radius: var(--r-full); background: transparent; color: var(--fg-muted); font-size: var(--fs-micro); cursor: pointer; }
.palette-facetten button:hover { border-color: var(--accent-border); color: var(--fg); }

/* Backlinks mit Kontext, Erwähnungen, Hover-Vorschau */
.note-verweise h3, .note-erwaehnungen h3 { display: flex; align-items: center; gap: var(--s-2); }
.note-verweise h3 span, .note-erwaehnungen h3 span { color: var(--fg-subtle); font-weight: 400; font-variant-numeric: tabular-nums; }
.verweis-filter { width: 100%; box-sizing: border-box; margin: var(--s-2) 0 var(--s-3); padding: var(--s-2) var(--s-3); }
.verweis-gruppe { margin: var(--s-3) 0; }
.verweis-gruppe > summary { display: flex; align-items: center; cursor: pointer; padding: var(--s-1) 0; color: var(--fg-muted); font-weight: 600; list-style: none; }
.verweis-gruppe > summary::-webkit-details-marker { display: none; }
.verweis-gruppe > summary::before { content: "›"; display: inline-block; width: var(--s-3); color: var(--fg-subtle); transition: transform var(--dur) var(--ease); }
.verweis-gruppe[open] > summary::before { transform: rotate(90deg); }
.verweis-gruppe .col-count { margin-left: var(--s-2); }
.verweis-karte { margin: var(--s-2) 0; padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface-1); transition: opacity 0.2s, transform 0.2s, border-color var(--dur) var(--ease); }
.verweis-karte:hover { border-color: var(--line-strong); }
.verweis-karte.erledigt-weg { opacity: 0; transform: translateX(8px); }
.verweis-karte[hidden] { display: none; }
.verweis-kopf { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); }
.verweis-titel { font-weight: 600; color: var(--fg-strong); overflow-wrap: anywhere; }
.verweis-kopf time { flex: none; color: var(--fg-subtle); font-size: var(--fs-sm); }
.verweis-kontexte { list-style: none; margin: var(--s-2) 0 0; padding: 0; display: grid; gap: var(--s-1); }
.verweis-kontexte li { display: grid; gap: 1px; padding-left: var(--s-3); border-left: 2px solid var(--line-strong); }
.verweis-ueberschrift { color: var(--fg-subtle); font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--tracking-label); }
.verweis-zeile { color: var(--fg-muted); font-size: var(--fs-sm); line-height: 1.5; overflow-wrap: anywhere; }
mark.verweis { background: var(--accent-soft); color: var(--accent); box-shadow: none; padding: 0 2px; }

.vorschau-pop { position: fixed; z-index: 95; width: 20rem; max-width: calc(100vw - var(--s-4)); padding: var(--s-3) var(--s-4); border: 1px solid var(--line-strong); border-radius: var(--r-3); background: var(--surface-2); box-shadow: var(--shadow-pop); display: grid; gap: var(--s-2); opacity: 0; transform: translateY(4px); transition: opacity 0.14s ease, transform 0.16s var(--ease); pointer-events: none; }
.vorschau-pop.sichtbar { opacity: 1; transform: none; }
.vorschau-pop[hidden] { display: none; }
.vorschau-kopf { display: flex; align-items: center; color: var(--fg-subtle); font-size: var(--fs-sm); }
.vorschau-zahl { margin-left: auto; font-variant-numeric: tabular-nums; }
.vorschau-titel { color: var(--fg-strong); font-size: var(--fs-md); overflow-wrap: anywhere; }
.vorschau-chips { display: flex; flex-wrap: wrap; gap: var(--s-1); }
.vorschau-text { margin: 0; color: var(--fg-muted); font-size: var(--fs-sm); line-height: 1.5; overflow-wrap: anywhere; }

/* Tagesansicht-Reiter */
.tages-reiter { display: flex; flex-wrap: wrap; gap: var(--s-1); margin: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.tages-reiter button { padding: var(--s-2) var(--s-3); border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--fg-muted); cursor: pointer; font-size: var(--fs-base); margin-bottom: -1px; }
.tages-reiter button:hover { color: var(--fg); }
.tages-reiter button[aria-selected="true"] { color: var(--fg-strong); border-bottom-color: var(--accent); font-weight: 600; }
.tages-gruppe[hidden] { display: none; }
.tages-karte { margin-bottom: var(--s-3); }
.tages-karte h2 { display: flex; align-items: center; gap: var(--s-2); }
.tages-text { max-height: 24rem; overflow: auto; }
.verweis-gruppe-tag { margin-top: var(--s-3); }
.verweis-gruppe-tag h3 { display: flex; align-items: center; gap: var(--s-2); font-size: var(--fs-sm); color: var(--fg-muted); text-transform: uppercase; letter-spacing: var(--tracking-label); }

/* Graph */
.graph-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); margin: var(--s-3) 0; }
.graph-legende { display: flex; flex-wrap: wrap; gap: var(--s-3); color: var(--fg-muted); font-size: var(--fs-sm); }
.graph-legende-eintrag { display: inline-flex; align-items: center; }
.graph-rahmen { position: relative; border: 1px solid var(--line); border-radius: var(--r-3); background: var(--surface-1); overflow: hidden; }
.graph-svg { display: block; width: 100%; cursor: grab; touch-action: none; user-select: none; }
.graph-svg:active { cursor: grabbing; }
.graph-meldung { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--fg-muted); }
.graph-meldung[hidden] { display: none; }
.graph-kanten line { stroke: var(--line-strong); stroke-width: 1; }
.graph-knoten-g { cursor: pointer; outline: none; }
.graph-knoten-g circle { stroke: var(--surface-1); stroke-width: 1.5; transition: r var(--dur) var(--ease); }
.graph-knoten-g circle.start { stroke: var(--fg-strong); stroke-width: 2.5; }
.graph-knoten-g text { fill: var(--fg-muted); font-size: 11px; pointer-events: none; paint-order: stroke; stroke: var(--surface-1); stroke-width: 3px; }
.graph-knoten-g:focus-visible circle { stroke: var(--accent); stroke-width: 3; }
.graph-svg.hervorgehoben .graph-knoten-g { opacity: 0.22; }
.graph-svg.hervorgehoben .graph-knoten-g.nah { opacity: 1; }
.graph-svg.hervorgehoben .graph-knoten-g.nah text { fill: var(--fg-strong); }
.graph-svg.hervorgehoben .graph-kanten line { opacity: 0.12; }
.graph-svg.hervorgehoben .graph-kanten line.nah { opacity: 1; stroke: var(--accent); }

/* Filter-Baukasten */
.filterleiste { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: var(--s-3) 0; }
.filter-chip.aktiv { display: inline-flex; align-items: center; gap: var(--s-2); padding: 2px var(--s-3); border: 1px solid var(--accent-border); border-radius: var(--r-full); background: var(--accent-soft); color: var(--fg-strong); font-size: var(--fs-sm); }
.filter-chip.aktiv a { color: var(--fg-muted); font-size: var(--fs-md); line-height: 1; }
.filter-chip.aktiv a:hover { color: var(--danger); }
.filter-neu { display: inline-flex; flex-wrap: wrap; gap: var(--s-1); align-items: center; }
.filter-neu select, .filter-neu input { font-size: var(--fs-sm); padding: 3px var(--s-2); }

/* Auswahl und Kontextmenü */
.auswahl-spalte { width: 2rem; text-align: center; }
.auswahl-box { accent-color: var(--accent); cursor: pointer; }
.typ-tabelle tbody tr.markiert td { background: var(--accent-soft); }
.sammel-leiste { position: fixed; left: 50%; bottom: var(--s-5); transform: translateX(-50%); z-index: 80; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border: 1px solid var(--accent-border); border-radius: var(--r-3); background: var(--surface-3); box-shadow: var(--shadow-pop); animation: einblenden 0.16s var(--ease) both; }
.sammel-leiste[hidden] { display: none; }
.kontextmenue { position: fixed; z-index: 110; min-width: 13rem; padding: var(--s-1); border: 1px solid var(--line-strong); border-radius: var(--r-3); background: var(--surface-2); box-shadow: var(--shadow-pop); display: grid; animation: einblenden 0.12s var(--ease) both; }
.kontext-kopf { padding: var(--s-2) var(--s-3); color: var(--fg-subtle); font-size: var(--fs-sm); max-width: 18rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-bottom: 1px solid var(--line); margin-bottom: var(--s-1); }
.kontext-eintrag { text-align: left; padding: var(--s-2) var(--s-3); border: 0; border-radius: var(--r-2); background: transparent; color: var(--fg); cursor: pointer; font-size: var(--fs-base); }
.kontext-eintrag:hover, .kontext-eintrag:focus-visible { background: var(--accent-soft); color: var(--fg-strong); }
.schnellfilter { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: 0 0 var(--s-3); }

/* Versionsverlauf */
.verlauf { display: grid; grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.verlauf-liste { display: flex; flex-direction: column; gap: var(--s-1); max-height: 70vh; overflow-y: auto; }
.verlauf-zeile { display: grid; grid-template-columns: 1fr auto auto; gap: var(--s-3); align-items: baseline; padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface-1); color: var(--fg); text-decoration: none; transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.verlauf-zeile:hover { background: var(--surface-3); }
.verlauf-zeile.aktiv { border-color: var(--accent-border); background: var(--accent-soft); }
.verlauf-diff .plus { color: var(--ok); }
.verlauf-diff .minus { color: var(--danger); }
.verlauf-kopf { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.verlauf-kopf h2 { margin: 0; font-size: var(--fs-lg); }
.diff-box { margin-top: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface-1); font-family: var(--font-mono); font-size: var(--fs-sm); overflow-x: auto; }
.diff-box > div { padding: 1px var(--s-3); white-space: pre-wrap; word-break: break-word; }
.diff-marke { display: inline-block; width: 1.4em; color: var(--fg-subtle); user-select: none; }
.diff-plus { background: var(--accent-soft); color: var(--ok); }
.diff-minus { background: var(--surface-3); color: var(--danger); }
.diff-kopf { color: var(--fg-subtle); background: var(--surface-2); }
@media (max-width: 860px) { .verlauf { grid-template-columns: minmax(0, 1fr); } }

/* Unteraufgaben */
.unteraufgaben { margin-top: var(--s-5); padding-top: var(--s-3); border-top: 1px solid var(--line); }
.unteraufgaben h3 { display: flex; align-items: center; gap: var(--s-2); }
.unteraufgaben h3 span { font-size: var(--fs-micro); color: var(--fg-subtle); background: var(--surface-3); border-radius: var(--r-full); padding: 0 var(--s-2); }
.unter-liste { list-style: none; margin: var(--s-2) 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.unter-zeile { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-2); background: var(--surface-1); border: 1px solid var(--line); }
.unter-zeile.erledigt a { color: var(--fg-subtle); text-decoration: line-through; }
.unter-chips { display: inline-flex; gap: var(--s-2); flex: none; }
.unter-fortschritt { display: flex; align-items: center; gap: var(--s-3); margin: var(--s-2) 0; }
.unter-fortschritt progress { flex: 1; height: 6px; accent-color: var(--ok); }
.unter-neu { display: flex; gap: var(--s-2); margin-top: var(--s-2); }
.unter-neu input[type=text] { flex: 1; }

/* Ähnliche Inhalte */
.aehnlich-tags { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: var(--s-2) 0 var(--s-3); }

/* Sammlungen */
.sammlung { margin: var(--s-4) 0; }
.sammlung h3 { display: flex; align-items: center; gap: var(--s-2); }
.sammlung h3 span { font-size: var(--fs-micro); color: var(--fg-subtle); background: var(--surface-3); border-radius: var(--r-full); padding: 0 var(--s-2); }
.sammlung-neu { display: flex; gap: var(--s-2); margin-top: var(--s-3); }
.sammlung-neu input[type=text] { flex: 1; }
.sammlung-liste { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-3) 0; }
.sammlung-wahl { margin: 0; }

/* Typen und Felder */
.typen-formulare { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: var(--s-4); margin: var(--s-4) 0; }
.typen-formulare label { display: flex; flex-direction: column; gap: var(--s-1); margin-bottom: var(--s-2); }
.inline-form { display: inline; margin: 0; }

/* Auswahlmenü am Chip: Neuer Wert, und am Handy als Blatt am unteren Rand */
.chip-menu-item.neu { color: var(--accent); border-top: 1px solid var(--line); }
@media (max-width: 600px) {
  .chip-menu { position: fixed; left: 8px; right: 8px; bottom: 8px; top: auto; max-height: 65vh; overflow-y: auto; }
  .chip-menu-item { min-height: 42px; }
}

/* Eingebetteter Editor in der Notizseite */
.inline-editor { display: block; width: 100%; min-height: 50vh; border: 0; background: transparent; color-scheme: normal; }
.note-content.editiert > .inline-weg { display: none; }
body:has(.embed-editor) { background: transparent; }
.embed-editor { margin: 0; padding: 0; max-width: none; }
.embed-editor .editor-form { margin: 0; }
.embed-editor .editor-actions { position: sticky; bottom: 0; padding: var(--s-2) 0; background: var(--bg); }
.note-content:not(.editiert) .prose-klick { cursor: text; }

/* Notizkopf am Handy: Titel in voller Breite, Werkzeuge darunter in einer Reihe */
@media (max-width: 600px) {
  .note-toolbar { flex-wrap: wrap; gap: var(--s-2); }
  .note-toolbar h1 { flex: 1 1 100%; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
  .note-toolbar .nav-btn { flex: 0 0 auto; padding: var(--s-1) var(--s-3); }
  .note-toolbar [data-drucken], .note-toolbar [data-fokus] { display: none; }
}

.embed-editor .editor-toolbar, .embed-editor .editor-actions, .embed-editor #editor_mention { display: none; }
.embed-editor .blocks-editor { border: 0; background: transparent; padding: 0; }
.inline-leiste { position: fixed; z-index: 70; left: 50%; bottom: calc(var(--s-4) + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); display: flex; gap: var(--s-2); padding: var(--s-2); background: var(--surface-2); border: 1px solid var(--line-strong); border-radius: var(--r-3); box-shadow: var(--shadow-pop); }
.inline-leiste button { min-height: 40px; padding: 0 var(--s-4); border-radius: var(--r-2); border: 1px solid var(--line); background: var(--surface-3); color: var(--fg); font: inherit; cursor: pointer; }
.inline-leiste button.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); font-weight: 600; }
