.overflow-y-auto::-webkit-scrollbar { width: 6px; }
.overflow-y-auto::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.overflow-y-auto::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.notification {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 60;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  animation: slide-in 0.3s ease-out;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.notification.success { background-color: #10b981; }
.notification.error { background-color: #ef4444; }
.notification.fade-out { opacity: 0; transition: opacity 0.3s ease-out; }

#modal-overlay { animation: fade-in 0.2s ease-out; }
#task-modal { animation: scale-in 0.2s ease-out; }

@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes scale-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
@keyframes slide-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
