@use '../atoms/variables' as *; // ─── Entry List Container ────────────────────────────────────────────────── .entry-list { background: $color-card-white; border-radius: $radius-lg; box-shadow: $shadow-card; overflow: hidden; transition: opacity 0.18s ease; &--fading { opacity: 0; } } // ─── Empty State ────────────────────────────────────────────────────────── .empty-state { background: $color-card-white; border-radius: $radius-lg; padding: $space-6 $space-8; box-shadow: $shadow-card; } .empty-state__title { font-size: $font-size-base; font-weight: $font-weight-bold; color: $color-text-dark; margin: 0 0 $space-2; } // ─── Footer mit Gesamtdauer ─────────────────────────────────────────────── .entry-list__footer { display: flex; justify-content: flex-end; // 2 Buttons (28px) + 2× gap (8px) + eigener padding = Badge bündig padding: $space-3 calc(#{$space-8} + 28px + 28px + #{$space-2} + #{$space-2}); border-top: 1px solid $color-border; } .entry-list__total { font-size: $font-size-base; font-weight: $font-weight-bold; color: $color-text-dark; background: $color-card; border-radius: $radius-pill; padding: $space-1 $space-4; } // ─── Entry Row ──────────────────────────────────────────────────────────── .entry-row { border-bottom: 1px solid rgba($color-border, 0.5); transition: opacity 0.28s ease, transform 0.28s ease, max-height 0.28s ease; &:last-child { border-bottom: none; } // Fade-in bei neuem Eintrag &--new { opacity: 0; transform: translateY(-6px); } // Fade-out beim Löschen &--removing { opacity: 0; transform: translateX(12px); max-height: 0; overflow: hidden; padding: 0; margin: 0; } } // ─── Anzeige-Modus ──────────────────────────────────────────────────────── .entry-row__display { display: flex; align-items: center; justify-content: space-between; gap: $space-4; padding: $space-4 $space-8; &:hover { background: rgba($color-primary, 0.03); .entry-row__btn { opacity: 1; } } &[hidden] { display: none !important; } } .entry-row__info { flex: 1; min-width: 0; } .entry-row__title { font-size: $font-size-base; font-weight: $font-weight-bold; color: $color-text-dark; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .entry-row__note { font-size: $font-size-sm; color: $color-text-muted; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .entry-row__actions { display: flex; align-items: center; gap: $space-2; flex-shrink: 0; } .entry-row__badge { font-size: $font-size-sm; font-weight: $font-weight-bold; color: $color-text-dark; background: $color-card; border-radius: $radius-pill; padding: $space-1 $space-3; min-width: 48px; text-align: center; font-variant-numeric: tabular-nums; } .entry-row__btn { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: transparent; border: none; cursor: pointer; opacity: 0; transition: opacity $transition-fast, background $transition-fast, color $transition-fast; color: $color-text-muted; svg { width: 14px; height: 14px; pointer-events: none; } &--edit:hover { background: rgba($color-primary, 0.1); color: $color-primary; } &--delete:hover{ background: rgba(200, 50, 50, 0.1); color: #c83232; } // immer sichtbar auf Touch-Geräten @media (hover: none) { opacity: 1; } } // ─── Bearbeiten-Modus ───────────────────────────────────────────────────── .entry-row__edit { padding: $space-4 $space-8; background: rgba($color-primary, 0.03); border-top: 1px solid rgba($color-border, 0.5); } .entry-form__grid--inline { // Gleiche Grid-Struktur wie das Haupt-Formular display: grid; grid-template-columns: 130px 1fr; gap: $space-3 $space-6; align-items: center; }