/* --- Animationen --- */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Listen-Polishing --- */
.list-group-item {
    transition: background-color 0.2s, transform 0.1s;
    border-radius: 0.5rem !important; /* Etwas runder */
    margin-bottom: 0.25rem;
    border: 1px solid rgba(0,0,0,0.05) !important;
}

.list-group-item:hover {
    background-color: #f8f9fa;
    transform: scale(1.01);
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.list-group.shadow-sm {
    box-shadow: none !important; /* Eigener Shadow beim Item reicht */
    background: transparent;
}

/* --- Badges Modern --- */
.badge {
    border-radius: 50rem; /* Pill shape */
    font-weight: 500;
    padding: 0.35em 0.8em;
    letter-spacing: 0.02em;
}

.badge.bg-primary { background-color: var(--primary-color) !important; color: white; }
.badge.bg-secondary { background-color: #e9ecef !important; color: #495057; } /* Arbeits-Badge dezenter */
.badge.bg-success { background-color: #d1e7dd !important; color: #0f5132; } /* Privat-Badge dezenter */
.badge.bg-warning { background-color: #fff3cd !important; color: #664d03; } /* Termin-Badge dezenter */
.badge.bg-danger { background-color: #f8d7da !important; color: #842029; } /* Überfällig dezenter */

/* --- Empty State --- */
.empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;
}
.empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: var(--primary-light);
    display: block;
}
