/* ─────────────────────────────────── */
/* COMPONENT: List entry               */
/* Shared entry pattern used by notes, */
/* tools, and insights screens.        */
/* ─────────────────────────────────── */

.list-entries {
    display: flex;
    flex-direction: column;
}

.list-entry {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) 0;
    border-top: 1px solid var(--color-grey-300);
    cursor: pointer;
}

.list-entry[data-coming-soon="true"] {
    cursor: default;
}

.list-entry:last-child {
    border-bottom: 1px solid var(--color-grey-300);
}

.list-entry__star {
    flex-shrink: 0;
}

.list-entry__text {
    flex: 1 1 0;
    min-width: 0;
    min-height: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.list-entry__row1 {
    font-size: var(--font-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text-subtle);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.list-entry__row2 {
    font-size: var(--font-xs);
    color: var(--color-text-subtle);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.list-entry__action {
    flex-shrink: 0;
}

/* ─── Hover — scoped to text + action zone ─── */

.list-entry:not([data-coming-soon="true"]):has(.list-entry__text:hover) .list-entry__row1,
.list-entry:not([data-coming-soon="true"]):has(.list-entry__action:not(.btn-icon--danger):hover) .list-entry__row1 {
    color: var(--color-blue-dark);
}

.list-entry:not([data-coming-soon="true"]):has(.list-entry__text:hover) .list-entry__row2,
.list-entry:not([data-coming-soon="true"]):has(.list-entry__action:not(.btn-icon--danger):hover) .list-entry__row2 {
    color: var(--color-blue-dark);
}

.list-entry:not([data-coming-soon="true"]):has(.list-entry__text:hover) .list-entry__action:not(.btn-icon--danger),
.list-entry__action:not(.btn-icon--danger):hover {
    color: var(--color-blue-dark);
    background-color: var(--color-grey-300);
    border-color: var(--color-grey-300);
}

/* Pin inside list-entry: icon-color-only hover, no background change */
/* .list-entry .list-entry__star.btn-icon:hover {
    background-color: var(--color-grey-200);
    border-color: var(--color-grey-200);
    color: var(--color-blue-dark);
} */

/* ─── Modifiers ─── */

.list-entry--complete .list-entry__row1 {
    text-decoration: line-through;
}

.list-entry__due--overdue {
    color: var(--color-red-light);
    font-weight: var(--weight-semibold);
}

.list-entry:has(.list-entry__text:hover) .list-entry__due--overdue,
.list-entry:has(.list-entry__action:not(.btn-icon--danger):hover) .list-entry__due--overdue {
    color: var(--color-red);
}