// ──────────────────────────────────────────────────────────────── // Komponente · Liste / Listenzeile // // Yuvomi-Stil: dichte Zeilen mit Fuehrung · Inhalt · Aktion. // Bewusst generisch — Traegt Listen, Aufgaben, Einkauf, Kontakte. // ──────────────────────────────────────────────────────────────── .list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; } .list-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--sp-3); padding: var(--sp-3); border-bottom: 1px solid var(--line-soft); transition: background var(--dur-fast) var(--ease); &:last-child { border-bottom: 0; } &--interactive { cursor: pointer; &:hover, &:focus-visible { outline: none; background: color-mix(in srgb, var(--accent) 6%, transparent); } } &--done .list-row__title { color: var(--muted); text-decoration: line-through; } &__lead { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--dim); } &__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; } &__title { color: var(--fg); font-weight: var(--fw-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } &__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); color: var(--muted); } &__trail { display: flex; align-items: center; gap: var(--sp-3); flex: 0 0 auto; color: var(--dim); } } @media (max-width: 620px) { .list-row { gap: var(--sp-2); padding: var(--sp-3) var(--sp-2); } }