.abwesenheit-trigger { cursor: pointer; display: inline-block; }
.abwesenheit-trigger:hover { text-decoration: underline; }
#urlaubModal .modal-content { border-radius: 12px; border: 2px solid var(--urlaub-danger, #dc3545); }
.urlaub-btn { font-weight: 600; padding: 0.375rem 0.75rem; font-size: 0.875rem; border-radius: 0.375rem; transition: all 0.2s ease; }

/* Timeline */
.vertretung-timeline { max-height: 60vh; overflow-y: auto; }
.timeline-item { border: 1px solid #e9ecef; border-radius: 8px; overflow: hidden; margin-bottom: 1rem; transition: all 0.2s; }
.timeline-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.timeline-header { display: flex; align-items: center; gap: 12px; padding: 16px; background: #f8f9fa; cursor: pointer; font-weight: 600; }
.timeline-header::-webkit-details-marker { display: none; }
.date-badge { background: var(--urlaub-danger, #dc3545); color: white; padding: 6px 12px; border-radius: 20px; font-size: 0.85em; }
.praxis-name { flex: 1; font-size: 1.1em; }
.timeline-content { border-top: 1px solid #dee2e6; }
.timeline-item[open] .timeline-header { background: rgba(220,53,69,0.1); color: var(--urlaub-secondary, #dc3545); }

/* Responsive */
@media (max-width: 576px) {
    .timeline-header { flex-direction: column; text-align: center; gap: 8px; }
    .vertretung-row input { min-width: 120px !important; }
}


.tel-link {
    color: var(--bs-primary);
    transition: color 0.15s ease;
}

.tel-link:hover,
.tel-link:focus {
    color: var(--bs-primary-dark);
    text-decoration: underline;
}

.tel-link .fs-5 {
    line-height: 1;
}


/* Checkbox + Timeline Verbesserungen */
.chk-col { min-width: 85px; font-weight: 500; display: flex; align-items: center; }
.timeline-header { font-weight: 600; cursor: pointer; }
.date-badge { 
    background: linear-gradient(135deg, var(--urlaub-danger), #a71e2a); 
    color: white; padding: 6px 12px; border-radius: 20px; font-size: 0.85em; font-weight: 500;
}
.timeline-item[open] .timeline-header { background: rgba(220,53,69,0.08); }
