|
- @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($color-error, 0.1); color: $color-error; }
-
- // 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;
- }
|